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