使用onClicked时可以禁用按钮吗?

时间:2012-09-02 16:28:15

标签: android

当我使用这样的监听器时,很容易禁用按钮:

button.setOnClickListener(btnSub);
button.setEnabled(false);

但是当我在XML文件中使用onClick作为按钮并且只是在主文件中调用一个方法时,是否可以通过该按钮禁用它?

1 个答案:

答案 0 :(得分:2)

如果您使用xml布局设置按钮的点击功能,那么您使用这样的内容,对吧?:

<Button
    ...
    android:onClick="yourFunction"
    ... />

如果你看一下documentation,它说你需要为此提供一个函数,那么需要一个View参数。

所以你需要以这种方式实现yourFunction

public void yourFunction(View view){...}

您在该功能中获得的View是您点击的Button(或任何其他View)。

所以你只需要实现这样的功能:

public void yourFunction(View view)
{
    view.setEnabled(false);
}

修改 如果您为Button提供以下xml属性的id:

android:id="@+id/my_button"

然后,您可以从View(或Button)访问Activity Dialog}:

Button myButton = (Button) findViewById(R.id.my_id);

并启用它:

myButton.setEnabled(true);