こんばんは,さかなです.

 

今日は調子が良かったので結構前に進めたと思います.

 

前回は”1”のボタンを押すと”1”が画面に表示されるところまで行きました.

 

今回は0~9のボタンを押すとそれぞれの数字が表示されるまでです.

ただ,1つの数字が表示されるだけではなくて,複数の数字が表示されるようにならなければなりません.

ex)12345,112233

 

※前回のソースコードからかなり変更されています.

 

 

まず,この画像には映っていないですが,

MainActivity.javaにprivateなリスナクラス,calculatorSampleListenerを作成し,その中にボタンがタップされた時の動作を記述するonClickメソッドを作成しています.(onCreateメソッドの中身は後述)

 

そして,onCreateメソッドに各ボタンのButtonオブジェクトを取得していきます.

その後,最初に作成したリスナクラスのインスタンスを生成し,各ボタンにリスナを設定します.

以上がonCreateメソッドの中身です.

 

次はリスナクラスの中身です.

 

 

まず,textViewオブジェクトを取得します.

 

画像のコメントにもありますが,その後,タップされたボタンがどれかを判別して,該当する数字を表示されるようにしていきます.

 

今回はswitch文を使って処理を分岐させます.

(実はあんまりswitch文は使ったことないので,思い出すのに苦労しましたが...)

 

まだ計算させないので0~9までの数字は文字列として認識させました.

今後,計算させるにあたってめんどくさそうなので数値として認識させるようにするつもりです.

 

TextViewはactivity_main.xmlで初期値は何も書いていないようにしてるので,各ボタンが押されたときに初期値に追加する形で表示されるようにtextView.append()としています.

 

以下がエミュレータでの実行画面.

 

 

次回はいよいよメインである計算部分を実装していきます.

 

《覚え書き》

・四則演算の記号を表示させるようにする.

・すべてのボタンに動作を実装する.

・最終的に計算をし,それを表示する機能の実装(”=”ボタンで計算結果表示)

・計算式部分は文字列として表示するか,数値として表示するか.(計算結果のみ数値のほうがやりやすい?)

→ただ,プログラム内で計算させるときにどちらの方が楽なのか.

・1文字削除ボタンの追加

・全削除するクリアボタンの実装