Blue note.

Android開発勉強ブログ。指摘ありましたらコメントください。

ボタンタップで文字の色を変える

hahahaはじめまして。 とりあえずブログ書きます。勉強ブログなので「ここ違うよ!」「こういう書き方のがイケてるよ」というご意見等ありましたらぜひコメントください。誹謗中傷はお断り。

つくったもの

f:id:mdvpo:20180902170655p:plain

ボタンをタップすると"Hello World!"の文字がその色に変化するというもの。画像はREDボタンをタップした状態。

書いたコード

package,impor文は省きます。それ以外はベタ貼り。

public class MainActivity extends AppCompatActivity {

    public TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button red = findViewById(R.id.redButton);
        Button green = (Button) findViewById(R.id.greenButton);
        Button blue = findViewById(R.id.blueButton);
        text = findViewById(R.id.textView);

        red.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                text.setTextColor(Color.RED);
            }
        });
        green.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                text.setTextColor(Color.GREEN);
            }
        });
        blue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                text.setTextColor(Color.BLUE);
            }
        });
    }
}

学び

  • clickイベントの実装
オブジェクト.setOnClickListener(new View.OnClickListener() {
    @Override
            public void onClick(View view) {
// 処理
            }
}
  • findViewById(R.id.redButton).setOnClickListener() でもいけるけど最初にボタン定義しといたほうがわかりやすいのでまとめた

詰まったとこ

  • ボタン定義をsetContentViewする前に書いちゃってアプリ起動即停止 → 定義する場所とかprivate,publicなどそこらへんまだまだよくわかってない

ばかまるだしっ!なブログ一発目ですが更新していくことで開発者としての腕を磨く一つの要因になればいいなと思ってます。

おしまい。