android的任何缺点:onClick属性用法?

时间:2010-12-31 15:22:40

标签: android

这些方法对于onClick的方法实现更好: - 在xml中使用android:onClick属性 - 实现和定义onClickListener?

7 个答案:

答案 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世界?

http://spicr.net/jnit/?p=13