OnClickListenerをどこに実装するか?

いつも悩ましく思ってた、AndroidのButtonのOnClickListenerをどこに実装するか?

昔はAndroidのアプリを作ってた時は、Activityにimplements OnClickListenerしていた。
たぶん、Win32APIのメッセージループを連想してそうしてたのかな。

最近になって、サンプル眺めてると引数に無名クラスを渡すケースが
多いなぁと思って、どうするのが一般的なのか調べてみた。

Android - 美しいOnClickListenerの実装方法(を教えてください) - Qiita
http://qiita.com/t2low/items/8ac683c7ebf4b6dd1b41

自分で調べたわけではなく、すでに記事があったので参考に。
結局、他所から参照される余地をなくす、ミスを減らすという点で
引数に無名クラスを渡すケースが有利とのこと。なるほど。

個人的には、一つの関数の行数が多くなるから…と思って
嫌なんだけどなぁと思うんだけどね。

と思ってたら、もっと良い方法が先ほどのページに書いてあって、
Butter Kninfeなどを使うとアノテーションでOnClickの指定ができる。
おぉ、こりゃ便利。例えば、こんな感じ。

1  @InjectView(R.id.button_login)
2  Button login_button_;
3
4  @OnClick(R.id.button_login)
5  void onClickLoginButton() {
6    String user  = text_user_.toString();
7    String pass  = text_pass_.toString();
8    ....
Posted at : 2015-02-22 16:01:30 / Category : android

Comments

まだコメントはありません / No comment.

Send comment


Name


Mail-address (empty is OK. If you want to notify update, please fill mail-address.)


Bot check code (240425 と入力してください / Please input 240425.)