0

在 android 中实现点击监听器的最佳方法是什么?

  1. android:onClick="myClickHandler"

  2. 实现 OnClickListener

  3. setOnClickListener(new View.OnClickListener()

4

1 回答 1

2
  • android:onClick="myClickHandler"

这会调用myClickHandler(View v)Activity 中的方法。重要的是要知道 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()

如果您有一个视图,请使用匿名类直接设置侦听器以提高可读性。有了这个,您就可以在视图范围内实现侦听器。

何时使用第二种或第三种方法并没有真正的约定。正如西蒙·安德烈·福斯伯格(Simon André Forsberg)已经评论的那样,它主要是基于意见的。但要小心第一种方法,尤其是在 Fragment 场景中。

于 2013-09-28T11:29:12.933 回答