当我使用XML设计布局时,我在java代码中使用findViewById()
来加载视图并将侦听器设置为它们。
这是正确的我在做什么?可能是用XML或其他东西设置监听器吗?
答案 0 :(得分:3)
大多数人在代码中设置他们的听众。在代码中执行此操作有时会更容易,因为您经常需要根据某些操作或状态添加或删除侦听器。
但是,Android还为您提供了为XML中的任何OnClickListener
设置View
的选项。这是一个例子:
<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
一样。我也相信它必须是公开的。
那么哪种方式是“最好的”?随你(由你决定。两条路线都可行。值得注意的是,这仅对点击侦听器有用,而不适用于其他类型的侦听器。
答案 1 :(得分:1)
您可以在xml中使用onClick属性。
答案 2 :(得分:1)
在XML中描述您的android:onClick
时,您可以指定View
属性。此属性的值是将在View
的{{1}}事件中调用的方法的名称。然后,您应该在代码中将此方法定义为公开,然后您可以传递onClick
对象,该对象将确定您在xml中使用相同View
属性描述的那些View
已触及来自用户的事件。
答案 3 :(得分:0)
你可以设置onClick
,但我认为这是关于它的