我发现在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透视图中)更好,哪一个在将来更容易改变?
答案 0 :(得分:1)
两者都是相同的唯一区别是片段。
如果您在xml中为视图设置侦听器,则方法必须处于托管此元素的活动中。
如果具有onClick侦听器的片段将在不同的活动中托管,并且您在xml中设置onClick则必须在所有活动中实现相同的方法。 在这种情况下,最好在片段类中实现onClickListener接口,并在onCreateView()方法中为代码中的可点击视图设置侦听器。
答案 1 :(得分:0)
这两种方式没有后端差异。如果您使用android:onclick
属性,则java会为您设置onClickListener
。
但是对于维护,我认为android:onClick
属性略好一些(个人意见)。例如
但上述优势太小了。