0

アンドロイドでクリックリスナーを実装する最良の方法はどれですか?

  1. Android:onClick="myClickHandler"

  2. OnClickListener を実装します

  3. setOnClickListener(new View.OnClickListener()

4

1 に答える 1

2
  • Android:onClick="myClickHandler"

myClickHandler(View v)これにより、Activity 内のメソッドが呼び出されます。アクティビティがこのメソッドを担当していることを知っておくことが重要です。Fragment のレイアウトでこれを使用している場合でも。

  • OnClickListener を実装します

をオーバーライドする必要がありますonClick(View v)。クリック可能なビューがさらにある場合は、これを使用して、ビューのすべてのコードをこのメソッドにまとめることができます。これは保守性に優れています。また、オブジェクトの作成を減らします。複数のボタンがある場合、IMO は、複数のクリック リスナーをボタンに関連付けるよりも優れています。

onClick(View v){
    switch(v.getId())
    case R.id.button1:
       // do something related to this button 1
    case R.id.button2:
       // do something related to this button 2
    ...

}
  • setOnClickListener(new View.OnClickListener()

ビューが 1 つある場合は、匿名クラスを使用して読みやすくするためにリスナーを直接設定します。これにより、ほとんどの場合、ビューのスコープ内にリスナーが実装されます。

2 番目または 3 番目のアプローチをいつ使用するかについて、実際の規則はありません。Simon André Forsberg がすでにコメントしたように、ほとんどが意見に基づいています。ただし、特に Fragment シナリオでは、最初のアプローチには注意してください。

于 2013-09-28T11:29:12.933 に答える