Java 如何一直按下按钮直到方法结束
我需要一直按下按钮直到方法结束,因为当按钮保持按下状态时,用户不能再次按下 我试着这样做: 创建时:Java 如何一直按下按钮直到方法结束,java,android,Java,Android,我需要一直按下按钮直到方法结束,因为当按钮保持按下状态时,用户不能再次按下 我试着这样做: 创建时: Button btnSend= (Button) findViewById(R.id.btnSend); btnSend.setOnClickListener(onClickbtnSend); 方法: Button.OnClickListener onClickbtnSend= new Button.OnClickListener() { @Override public void
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);
}
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;
}
}
有人知道吗?谢谢您可能需要使用切换按钮,因为您的按钮似乎有两种状态(忙或不忙)。我找到了以下解决方案: 在开始创建之前:
private boolean pressionado = false;
方法:
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);
}
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;
}
}
我不知道这是否是更好的解决方案,但对我来说很有效。通常的做法是禁用/启用按钮。我建议调查一下。
//做点什么
是一项背景任务吗?如果不是,那么你不需要这样的东西。原因是在方法完成之前不会再次调用onClick
(因为UI被阻止)。这是android的默认行为。请澄清现在出了什么问题首先,谢谢你的帮助。。所以Amulya Khare,这是后台任务。Amulya Khare,我只需要在单击的那一刻,按钮保持按下直到方法结束。请发布完整的方法。看看你的代码,我可以很快帮你解决问题。谢谢你,弗兰克,但这个组件不适用于我的情况。