2013-08-12 24 views
1

我有一個顯示進度對話框的按鈕,在進程結束對話框中顯示烤麪包。 我希望在UI上看到進度對話框和烤麪包時,該按鈕可以被點綴。即在敬酒走了,我想我的按鈕再次啓用Android按鈕禁用,直到看到烤麪包

任何人都可以建議做

+0

如果您不共享代碼,我們該如何提供幫助? – Raptor

+0

如果你已經實現了它,請在這裏發佈你的代碼? –

+0

我沒有執行。請告訴我如何實現 – Pinks

回答

0

把下面的代碼進度對話框啓動

Button myBtn=findViewById(R.id.button1); 
myBtn.setVisibility(View.INVISIBLE); 
//myBtn.setEnabled(false); 

之前Toast.makeText後()被調用時,把下面的代碼:

myBtn.setVisibility(View.VISIBLE); 
//myBtn.setEnabled(true); 

注意setVisibility將使按鈕顯示/隱藏,的setEnabled(假)將把你的按鈕不clcikable MD即

+0

是的,我已經這樣做了......現在的事情是......一旦對話框出現,按鈕就會變成暗點。但是在Progres對話框消失之後,我顯示一個敬酒。所以我想我的烤麪包後去按鈕shoudl被啓用.....我正在使用TimerTask ...但我無法更新UI,即啓用TimerTask中的按鈕...任何人都可以請求幫助 否則,用戶再次按下按鈕。我想避免這個 – Pinks

+0

這就是我指定給你的。僅在Toast.makeText()後啓用該按鈕。 – Zax

+0

沒有一次烤麪包不見了,我想啓用它..所以如何發現,當烤麪包不見了.. Toast mToast = Toast.makeText(mContext,「」,Toast.LENGTH_LONG); mToast.show(); 一旦這個mToast不見了,我會寫 mButton.setEnabled(true); – Pinks

1

只要顯示吐司,將可點擊按鈕設置爲false,並啓動此計時器任務。 Timer類的方法schedule()是在提供的時間之後執行的。在這種情況下,我將時間作爲Toa​​st.LENGTH _SHORT

final Handler handler = new Handler(); 
    Timer time = new Timer(); 
    time.schedule(new TimerTask() { 
     @Override 
     public void run() { 
     handler.post(new Runnable() { 
     @Override 
     public void run() { 
        your_button.setClickable(true); 
        } 
      }); 
     } 
    },Toast.LENGTH_SHORT); //// If your toast is for length short.