Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 实现OnClickListener的正确方法是什么_Android_Onclicklistener - Fatal编程技术网

Android 实现OnClickListener的正确方法是什么

Android 实现OnClickListener的正确方法是什么,android,onclicklistener,Android,Onclicklistener,在安卓系统中实现OnClickListener的方法如此之多,我想知道是否有一种最佳实践或一种比其他方法更推荐的方法(即:我记得阅读某些方法比其他方法需要更多内存) 目前我知道实现OnClickListener的四种方法,它们是: 使您的活动实现OnClickListener接口 内部类OnClickListener 内联类OnClickListener 在按钮的XML定义中使用android:onClick属性 在四个选项中,我倾向于XML实现,因为它看起来更干净,其他人能给出他们的意见吗?这

在安卓系统中实现OnClickListener的方法如此之多,我想知道是否有一种最佳实践或一种比其他方法更推荐的方法(即:我记得阅读某些方法比其他方法需要更多内存)

目前我知道实现OnClickListener的四种方法,它们是:

  • 使您的活动实现OnClickListener接口
  • 内部类OnClickListener
  • 内联类OnClickListener
  • 在按钮的XML定义中使用android:onClick属性

  • 在四个选项中,我倾向于XML实现,因为它看起来更干净,其他人能给出他们的意见吗?

    这取决于具体情况。起初我喜欢数字1(使您的活动实现OnClickListener接口),因为源代码看起来很整洁。
    但最后我选择了2.内部类OnClickListener,因为我发现它更易于阅读和实现,特别是如果您使用eclipse并知道自动完成的快捷方式。

    最后,我认为这取决于味道。

    我不知道内存效率,但我的方法是这样的

  • 我不喜欢它,如果您有多个按钮,它需要在
    onClick中插入多个if-else(或开关)
  • 如果第三个选项导致我的方法(例如
    onCreate()
    太大、太乱),我会使用这个选项
  • 我最喜欢的。它可以让你很容易地找到每个按钮的功能,但是如果它的
    onClick
    不太长,我通常会使用它来保持代码的可读性
  • 我几乎不使用它,它使代码更干净,但我不习惯使用它,因为我不在Java的SWING中使用它
  • 但归根结底,就像“懒惰的忍者”所说的,一切都取决于味道。这四种方法都有效

    我认为在选择时,重要的是保持代码的干净性和可读性