アプリ開発初心者の暇つぶしAndroid体験記

アプリ開発初心者がAndroidアプリ開発始めました。日々学んだことをアウトプットしていきます。

電卓を作ろう【表示処理実装編】

今回は各ボタンが押された時にTextViewに表示させる処理を実装していきます!

完成まで長そうです。笑
では、やっていきましょう!

1. イベントリスナーの追加

配置したすべてのボタンにイベントリスナーを追加していきます。
イベントリスナーについてはこちらも参考にどうぞ。
xprogrammingx.hatenablog.com

実装したonCreateメソッドがこちらです。

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

    // 2020.02.24 電卓の計算処理実装
    findViewById(R.id.one).setOnClickListener(this);
    findViewById(R.id.two).setOnClickListener(this);
    findViewById(R.id.three).setOnClickListener(this);
    findViewById(R.id.four).setOnClickListener(this);
    findViewById(R.id.five).setOnClickListener(this);
    findViewById(R.id.six).setOnClickListener(this);
    findViewById(R.id.seven).setOnClickListener(this);
    findViewById(R.id.eight).setOnClickListener(this);
    findViewById(R.id.nine).setOnClickListener(this);
    findViewById(R.id.zero).setOnClickListener(this);
    findViewById(R.id.period).setOnClickListener(this);
    findViewById(R.id.plus).setOnClickListener(this);
    findViewById(R.id.minus).setOnClickListener(this);
    findViewById(R.id.multi).setOnClickListener(this);
    findViewById(R.id.div).setOnClickListener(this);
    findViewById(R.id.eq).setOnClickListener(this);
    findViewById(R.id.clear).setOnClickListener(this);
    findViewById(R.id.clearall).setOnClickListener(this);

    calc = findViewById(R.id.calc);
}

ボタンが多いとこれだけで一苦労ですね。笑
足りてるよね・・・?

2. onClickメソッドの実装

onClickメソッドを追加し、switch文を追加。
過去に触れているのでここでの解説は省略します。
xprogrammingx.hatenablog.com


各ボタンが押された場合の処理を実装していきます。
処理の流れはこんな感じでしょうか!

  1. TextViewの文字列を取得
  2. 押された文字を末尾に追加
  3. 再度TextViewに表示

例として、"1"が押された場合の処理がこちらです!

// 1が押された場合の処理
case R.id.one:
    viewNum = calc.getText().toString() + "1";
    calc.setText(viewNum);
    break;

これを各ボタンが押された場合の処理にも追加していきます。

3. 動作確認

それでは、正しく表示されるか確認してみます!
f:id:mtnanao:20200222203721p:plain

各数字と演算記号が表示されてますね!




それでは、今回はここまでとします!
次回はいよいよ電卓のメイン、計算処理です!

お疲れさまでした!