繁体   English   中英

不同风格的android事件处理

[英]different style of android event handing

我发现在android的事件处理中有两种风格的代码编写。 一种是调用setOnClickListener之类的方法并在java中传递一个匿名类,另一种是添加一个名为onClick的xml属性,并在Activity中编写相应的方法,如下所示。

<Button  
android:id="@+id/idButtonTest1"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/button_test1"
android:onClick="myClickButton1"/>

我想知道哪个在oop角度(或mvc角度)更好,哪个更容易更改?

两者相同,唯一的区别是片段。

如果您在xml中为视图设置侦听器,则必须在活动中托管此元素的方法。

如果您的带有onClick侦听器的片段将托管在不同的活动中,并且您在xml中设置了onClick,则您将必须在所有活动中实现相同的方法。 在这种情况下,最好在片段类中实现onClickListener接口,并在onCreateView()方法中的代码中为可单击视图设置侦听器。

这两种方式没有后端差异。 如果您使用android:onclick属性,则Java为您设置onClickListener

但是对于维护而言,我认为android:onClick属性要好一些(个人观点)。 例如

  1. 您无需从代码中设置TheOnclickLister。 因此,无需为此增加视图。
  2. 如果更改了视图ID,则对代码没有影响。

但是上述优点太小了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM