2013-12-16 43 views
3

我需要保持一个按钮,直到方法结束,因为当按钮保持按下时用户不能再次按下。如何保持一个按钮,直到方法结束

我tryed这一点:

上创建:

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

//做些什么是背景任务?如果不是,那么你不需要这样的东西。原因是因为在方法结束之前(on UI被阻止),“onClick”不会被再次调用。这是android的默认行为。请澄清现在出了什么问题.. –

+0

首先,感谢您的帮助..所以.. Amulya Khare,这是后台任务。 – lfrancatto

回答

1

您可能想要使用ToggleButton,因为您的按钮似乎有两种状态(忙或不忙)。

+0

谢谢Frank,但是这个组件不适用于我的情况。 – lfrancatto

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; 
    } 
} 

我不知道这是更好的解决方案,但为我工作。

相关问题