当我使用XML来设计布局,我使用findViewById()
在Java代码中加载的意见,并设置听众给他们。
这是正确的我在做什么? 可它可以设置在XML或什么听众?
当我使用XML来设计布局,我使用findViewById()
在Java代码中加载的意见,并设置听众给他们。
这是正确的我在做什么? 可它可以设置在XML或什么听众?
大多数人在代码中设置他们的听众。 它有时更容易做到这一点的代码,因为你很多时候需要添加或删除基于一些动作或状态的听众。
不过,Android也给你设定的选项OnClickListener
任何View
中的XML。 下面是一个例子:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onActionClick"
android:text="Action" />
使用onClick
属性,分配将处理点击的方法的名称。 这个方法必须存在于同一Context
的View
,所以在同样Activity
。 因此,例如,我会实现这个方法:
public void onActionClick(View v) {
// Do stuff for my "Action" button...
}
我相信,它必须有一个View
参数,就像实现OnClickListener
会。 我也相信它必须是公开的。
因此,只要其方式是“最佳”? 随你(由你决定。 两条路线是活的。 值得一提的,虽然这只是针对点击监听器,而不是其他类型的监听器有用。
有一个的onClick您可以在XML中使用属性。
你可以指定android:onClick
属性时说明您的View
中的XML。 此属性的值是会在你要调用的方法的名称View
的onClick
事件。 那么你应该在你的代码中定义此方法作为公众,你可以通过那里View
对象,将决定View
从那些你在XML具有相同描述android:onClick
属性已经得到了来自用户触摸事件。
您可以设置onClick
但我认为仅此而已