2016/06/01

[android]2つspinnerを使ってみる (4) - トーストを出す

今までLog.d()でログしか出していないので気付かなかったが、これではToastすら表示させることができない。

Contextがあればよいようなのだが、今動いているアプリのContext取得、みたいなものがわからなかったので、ボタンを押したときに引数でActivityを渡すことにした。

hirokuma/AndroidTwoSpinners at d9bb9bb266a9b4203006c842927a7348cb72c572

 

Activityも、ボタンを押したときのハンドラの中では取ってこれそうな気がしないので、onCreate()のときにthisをprivate変数に保存するようにした。
ButtonはContextを持たないから、android.app.Activityが手っ取り早いだろう。

あ、ここを見ると、同じclass内だからだろうけど「どのthisか」を指定するようにすれば、Activityのthisをprivate変数で保持するようなことはしなくてよいらしい。
【AndroidStudio】ボタンをクリックしてToastを表示する方法 - Qiita

 

動いているからこれでいいことにしているが、いろいろとやり方がありそうな気がして安心ならん。
こういうのが「ちょっとアプリは・・・」と思ってしまうところだな。

 

いかんいかん。
否定する心で物事を眺めていると、無意識のうちにそういう方向に判断してしまうかもしれないから、日頃から心を広くしておかねば。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。