我想避免在同一个按钮上连续单击事件(即)连续单击同一个按钮
不管它是否可能
是的,有可能以不同的方式:
1)第一种方法:使用布尔变量并在需要时更新它:
boolean isClickable = true;
Button btn;
// other declarations..
// 在 onCreate 方法中:
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(this);
onClick()
方法 :
@Override
public void onClick(View v) {
if(isClickable) {
//this code will be executed only when you set the boolean isClickable to true
//your code here
}
}
当您想停用时,请单击按钮;只需将布尔值设置为 false :
isClickable = false;
2)第二种方法:
View 上有一种方法可以让您的按钮不可点击;然后停用您的按钮上的侦听器,因此没有对象会像这样侦听单击您的按钮的事件:
btn.setClickable(false);
btn.setOnClickListener(null);
注意:当您想再次单击按钮时,只需将侦听器设置为此并使其再次可单击(对于第二种方法):
btn.setClickable(true);
btn.setOnClickListener(this);
或者只是更新布尔 isClickable 的值(对于第一种方法)
isClickable = true;
当您想要禁用此事件的处理时,您可以将 onClickListener 设置为 null,并将其设置回您之前拥有的相同侦听器以重新启用它。
当然,正如 Houcine 所写的那样,有很多解决方案。