電卓を作ろう【表示処理実装編】
今回は各ボタンが押された時に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
各ボタンが押された場合の処理を実装していきます。
処理の流れはこんな感じでしょうか!
- TextViewの文字列を取得
- 押された文字を末尾に追加
- 再度TextViewに表示
例として、"1"が押された場合の処理がこちらです!
// 1が押された場合の処理 case R.id.one: viewNum = calc.getText().toString() + "1"; calc.setText(viewNum); break;
これを各ボタンが押された場合の処理にも追加していきます。
3. 動作確認
それでは、正しく表示されるか確認してみます!
各数字と演算記号が表示されてますね!
それでは、今回はここまでとします!
次回はいよいよ電卓のメイン、計算処理です!
お疲れさまでした!