我需要按住一个按钮,直到方法结束,因为用户在按下按钮时不能再次按下。
我试过这个:
on create:
Button btnSend= (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(onClickbtnSend);
方法:
Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
@Override
public void onClick(View v){
try{
v.setPressed(true);
//do something ......
} catch(Exception e){
e.printStackTrace();
}
v.setPressed(false);
}
有人有想法吗?感谢
答案 0 :(得分:1)
您可能希望使用ToggleButton,因为您的按钮似乎有两种状态(忙或不忙)。
答案 1 :(得分:0)
我找到了这个解决方案:
在创建之前:
private boolean pressionado = false;
方法:
Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
@Override
public void onClick(View v){
if(pressionado){
return;
}
pressionado = true;
try{
//do something background in task
} catch(Exception e){
e.printStackTrace();
pressionado = false;
}
}
我不知道这是否是更好的解决方案,但对我有用。