リスナーを作成する3つの方法を知っています。
1.匿名タイプ
btn.addClickListener(new ButtonClickListener(){
doSomething();
})
2.クラスインナータイプ
btn.addClickListener(new MyButtonClickListener());
public MyButtonClickListener implements ButtonClickListener{}
3.外部クラス
上記と同じですが、別のクラスです。
問題
クラスにボタンを使用するフィールドがいくつかあり、ボタンを使って何かをしたい場合、これが最もクリーンな方法ですか?
たとえばString a = "foo"
、フィールドとして持っていて、ボタンをクリックすると、このフィールドを変更したいとします。
- ケース1:使用できる
MyClass.this.foo = "bar";
- ケース2:同じ。
- ケース3:?(フィールドを参照してカスタムコンストラクターを作成しますか?)