【问题标题】:Which is the best way to implement click listener in android [closed]哪个是在android中实现点击监听器的最佳方法[关闭]
【发布时间】:2013-09-28 11:08:27
【问题描述】:

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

  1. android:onClick="myClickHandler"

  2. 实现 OnClickListener

  3. setOnClickListener(new View.OnClickListener()

【问题讨论】:

  • 相信很多人对此都有不同的喜好。这就是为什么我投票关闭主要是基于意见。
  • 1) 在最新版本中已弃用。 2)降低代码的可读性。 3)更具可读性和易于维护(在创建动态布局时很有用)
  • 1) 在最新版本中被贬低。 - 你在哪里看到的?

标签: android textview android-xml onclicklistener android-button


【解决方案1】:
  • android:onClick="myClickHandler"

这会调用Activity中的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()

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

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

【讨论】:

  • 感谢您的回复
猜你喜欢
  • 2011-12-18
  • 1970-01-01
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多