Androidのボタンにイベントリスナーを追加する2つの方法は何ですか?
XML 内でリスナーを指定できることがわかりました。通常はコードが少なくて済むので、個人的にはこの方法を好みます。匿名の内部クラスを作成したい人がいることは知っています...
私は Android でのプログラミングに比較的慣れていないので、この質問は純粋に私の知識を広げるためのものです。これに関するコミュニティの意見に興味を持ってください!
ジャック
私が使用したのはすべて内部クラスです。これは、私が見たすべてのチュートリアルが示しているものだからです。クラス宣言で「implements OnClickListener」を使用して、コード内のすべてのクリック リスナーを 1 つの大きな case ステートメントとして設定することもできます。きれいに見えるかもしれませんが、アクティビティ、特にボタンの多いアクティビティを書くときの自然な思考の流れには従わないと思います。
私がそれを見る方法は、ボタンが1回限りの機能に使用される場合、それをxmlに入れることは問題ありません。複数の場所で使用されるボタンがある場合は、アクティビティに onClick リスナーを設定することをお勧めします。プログラム内の他の変数に応じて特定のことを行うボタンを持つプログラムがあります。xml から 1 つの関数を呼び出すと、常に正しい関数が呼び出されたり、適切なアクションが実行されるとは限りません。これが理にかなっていることを願っています。そして、ティムは正しいです。この質問は、SOにとって「建設的な」質問ではないという境界線にありますが、うまくいけば、より客観的になる方法で答えました. 楽しいプログラミング!!!
それはあなたの仕事に依存します。あるケースでは、XMLでリスナーを指定するだけで十分です。他の場合、たとえば、コードで動的にボタンを作成するときは、コードでリスナーを定義するか、匿名の内部を作成する必要があります。リスナーがメソッドのパラメーターとして使用され、XMLで指定できない場合のもう1つの状況。