Android には、ボタン クリック メソッドを実装する方法がいくつか用意されているのではないかと思います。少なくとも 2 つの方法を見つけました。1 つ目は Java コードでコマンド リスナーを使用する方法、2 つ目はandroid:onClick ="method"
xml とpublic void method(View v)
Java で使用する方法です。だから私の質問は、プログラミングの単純さと有効性の場合、どれが最適かということです. ありがとう。
2 に答える
xml内でonClickを定義すると、proguardで問題が発生する可能性があると聞きました。個人的には、onclicklistener内でスイッチとケースを使用するのが最も簡単だと思いますが、メソッドがはるかに長い場合は、独自のメソッドを指定して「非表示」にすることをお勧めします。ただし、ボタンが押された後に実行する共通コードが必要な場合(たとえば、UIの更新)は、スイッチとケース、またはif/elseに任せる方がよい場合があります。
//xmlおよびproguard内でOnClickを使用したい人のために追加するだけです
これを追加:
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
しかし、私の謙虚な意見では、難読化が進むほど、メリットがあります:P
アクティビティの多くの XML レイアウト (さまざまな方向、解像度、言語など) で終わる場合、イベント (aロングクリックなど)。変更する必要があるファイルの数が少ないほど、より良い結果が得られます。また、さまざまなイベントの名前を XML ファイルに含めないようにすることで、レイアウト全体で一部の情報を繰り返すのではなく、各レイアウトの実際の違いを表現するために必要な情報だけを最小限のサイズに保ちます。
Java を使用すると、コードを作成する際の可能性も広がります。たとえば、匿名クラスを作成し、それを使用して現在の状態を取得し、リスナーで使用できるようにすることができます。
最後に、いくつかのボタン/フィールドを動的に作成したい場合; 異なるファイルで 2 つの異なる方法を使用する代わりに、イベントを管理するための手順を同じに保つことができます。