1

我想避免在同一个按钮上连续单击事件(即)连续单击同一个按钮

不管它是否可能

4

2 回答 2

2

是的,有可能以不同的方式:

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;
于 2012-12-29T14:09:36.810 回答
0

当您想要禁用此事件的处理时,您可以将 onClickListener 设置为 null,并将其设置回您之前拥有的相同侦听器以重新启用它。

当然,正如 Houcine 所写的那样,有很多解决方案。

于 2012-12-29T15:29:04.457 回答