是否有可能设置事件侦听器的XML?(Is it possible to set event list

2019-09-29 05:08发布

当我使用XML来设计布局,我使用findViewById()在Java代码中加载的意见,并设置听众给他们。

这是正确的我在做什么? 可它可以设置在XML或什么听众?

Answer 1:

大多数人在代码中设置他们的听众。 它有时更容易做到这一点的代码,因为你很多时候需要添加或删除基于一些动作或状态的听众。

不过,Android也给你设定的选项OnClickListener任何View中的XML。 下面是一个例子:

<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会。 我也相信它必须是公开的。

因此,只要其方式是“最佳”? 随你(由你决定。 两条路线是活的。 值得一提的,虽然这只是针对点击监听器,而不是其他类型的监听器有用。



Answer 2:

有一个的onClick您可以在XML中使用属性。



Answer 3:

你可以指定android:onClick属性时说明您的View中的XML。 此属性的值是会在你要调用的方法的名称ViewonClick事件。 那么你应该在你的代码中定义此方法作为公众,你可以通过那里View对象,将决定View从那些你在XML具有相同描述android:onClick属性已经得到了来自用户触摸事件。



Answer 4:

您可以设置onClick但我认为仅此而已



文章来源: Is it possible to set event listener in XML?