XML属性に出くわしたばかりですがandroid:onClick="myCrazyMethod"
、かなりきれいでシンプルなようです。
このアプローチの間にパフォーマンスに違いがあるかどうか疑問に思っていました-単純なメソッドを宣言してOnClickListener
クラスを作成しますか?
XML属性に出くわしたばかりですがandroid:onClick="myCrazyMethod"
、かなりきれいでシンプルなようです。
このアプローチの間にパフォーマンスに違いがあるかどうか疑問に思っていました-単純なメソッドを宣言してOnClickListener
クラスを作成しますか?
顕著な違いはありません。選択は単に開発者の好みです。
大きな違いはありませんので、どちらかのクリーナーを使用してください。android:onClick
実行時のイントロスペクションを使用して実装されているため、技術的には遅くなりますが、この時点で髪を分割しています =)
XML で宣言するのは少し遅くなりますが、それほどではありません。ただし、xml 内で onClick を定義すると、proguard で問題が発生する可能性があります (以下のコードを実装しない限り)。個人的には、onclicklistener 内でスイッチとケースを使用するのが最も簡単だと思いますが、メソッドが非常に長い場合は、独自のメソッドを指定して「非表示」にするのが良いでしょう。ただし、ボタンが押された後に共通のコードを実行する必要がある場合 (UI の更新など) は、スイッチとケースまたは if/else に任せた方がよい場合があります。ただし、もちろんこれはすべて、この問題に関する私の意見です。
// xml と proguard 内で OnClick を使用したい人のために追加するだけです
これを追加:
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}