这些方法对于onClick的方法实现更好: - 在xml中使用android:onClick属性 - 实现和定义onClickListener?
答案 0 :(得分:4)
在我个人看来,定义实施和定义OnClickListener
要好得多。主要原因是其他人更容易理解代码的工作原理。
当您阅读Android应用程序的代码时,您将阅读.java文件(90%的时间)以了解它的工作原理;您将忽略大多数XML布局,这些布局不会告诉您应用程序的实际工作方式或目的是什么。
因此,如果你使用android:onClick
属性,你将强迫其他人(和你自己)看两边:XML布局和Java源代码来理解你的应用程序的流程和意图,这是不好的。
请注意,这是一个可读性问题;从技术上讲,不应该有任何性能差异。
答案 1 :(得分:4)
使用 android更好地解释以下链接:onClick比onClickListener 更好,其他人难以理解但是很好但是它有几个优点。
http://android-developers.blogspot.com/2009/10/ui-framework-changes-in-android-16.html
答案 2 :(得分:1)
如果你在XML中使用onClick,它会让你的设计师和用户界面更容易,如果你把它放在你的代码中,那么对于那些用XML知道它的程序员来说,它会“更容易”。
答案 3 :(得分:0)
我更喜欢使用android:onClick,因为它使java代码看起来更干净,而不是拥有一堆switch语句和findViewById调用。但是,如果您忘记为android:onClick实现该函数,那么当触摸视图时它将导致forceclose。
答案 4 :(得分:0)
如果你的minSdkVersion是4(1.6)或更高,请使用android:onClick。它将使您的代码更清晰,易于阅读。如果你的minSdkVersion小于4(例如,3是1.5),那么不使用onClick属性,因为它将被忽略。
onClick属性使用反射来创建在View上设置的OnClickListener,并使用反射来调用您的方法。对于绝大多数应用程序而言,这很好,永远不会成为问题,但是对于处理器密集型应用程序来说,这是值得考虑的。
答案 5 :(得分:0)
使用XML onClick属性更加整洁。但是正如已经指出的那样,它缺乏显示onClick声明位置的可见性。我已经创建了一个注释来提高XML声明onclicks的可见性,因此当您扫描代码时,您可以更好地了解正在发生的事情。
在这里查看:
http://blog.blundell-apps.com/using-annotations-for-android-xml-onclick-visibility/
一个例子:
@FromXML
public void onSomeXmlButtonClick(View button){
}
答案 6 :(得分:-2)
对onclick事件(HTML / ASP)的这种解释是否以某种方式应用于android世界?