当我使用这样的监听器时,很容易禁用按钮:
button.setOnClickListener(btnSub);
button.setEnabled(false);
但是当我在XML文件中使用onClick作为按钮并且只是在主文件中调用一个方法时,是否可以通过该按钮禁用它?
答案 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);