2013-12-16 96 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; 
    } 
} 

我不知道這是更好的解決方案,但爲我工作。

相關問題