3

当我使用 XML 来设计布局时,我findViewById()在 java 代码中使用来加载视图并为它们设置侦听器。

这是正确的我在做什么?是否可以在 XML 中设置侦听器或其他东西?

4

4 回答 4

4

大多数人在代码中设置他们的听众。有时在代码中更容易做到这一点,因为您经常需要根据某些操作或状态添加或删除侦听器。

但是,Android 还为您提供了在 XML 中OnClickListener为 any设置 a 的选项。View这是一个例子:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onActionClick"
    android:text="Action" />

使用该onClick属性,您可以指定将处理单击的方法的名称。这个方法必须存在于同一个ContextView,所以同一个Activity。因此,例如,我将不得不实现这个方法:

public void onActionClick(View v) {

    // Do stuff for my "Action" button...
}

我相信它必须有一个View参数,就像实现OnClickListener一样。我也相信它必须是公开的。

那么,哪种方式是“最好的”?随你(由你决定。两条路线都是可行的。值得注意的是,这仅对点击侦听器有用,对其他类型的侦听器无效。

于 2012-05-16T15:47:12.303 回答
1

您可以在 xml 中使用onClick属性。

于 2012-05-16T15:45:33.643 回答
1

您可以在用 XML描述时指定android:onClick属性。View此属性的值是将在您ViewonClick事件中调用的方法的名称。然后你应该在你的代码中将此方法定义为公共的,你可以传递那里的View对象,该对象将确定View你在 xml 中描述的具有相同android:onClick属性的对象从用户那里获得了触摸事件。

于 2012-05-16T15:47:47.310 回答
0

你可以设置一个,onClick但我认为就是这样

于 2012-05-16T15:46:15.483 回答