2013-06-29 22 views
-1

我遇到了一個問題,我一直工作太久了。我試圖顯示一個按鈕,並在一段時間後隱藏它。無法使用setVisibility和Handler隱藏按鈕

 birdBubble.setVisibility(vis); 
     final Handler handler = new Handler(); 
     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       birdBubble.setText("blalb alba"); 
       handler.postDelayed(this, 2000); 
       birdBubble.setVisibility(invis); 
      } 
     }); 
     birdBubble.setVisibility(invis); 

我在AsyncTask中做了所有這些,因爲我需要顯示一系列按鈕。它發生的是,在開始時顯示按鈕,2秒後,文本被改變,但按鈕不會變成INVISIBLE。有任何想法嗎?如果您需要更多代碼,請告訴我。謝謝!

+0

是什麼'vis'和'invis'的visilibility ???顯示你定義它的代碼! – 7bluephoenix

回答

0

設置像以下

  birdBubble.setVisibility(View.VISIBLE); 
      birdBubble.setVisibility(View.INVISIBLE); 
      birdBubble.setVisibility(View.GONE); 
+0

我試過了,沒有運氣。我把INVIS和GONE放在run()方法中,也嘗試在它之外放置GONE。此外,所有這些都是在AsyncTask – fairly99

+0

的PostExecute()方法中完成的哦,它工作正常!我使用View.VISIBLE,而不是我的變量invis和vis。謝謝!我還有一個問題。我在「if」命令中使用此代碼,我的問題是所有按鈕都會一次隱藏(延遲之後)。我希望他們一個接一個地隱藏起來。有任何想法嗎? – fairly99

+0

你可以創建一個postdelayed鏈。當一個buton被設置爲不可見時,發佈另一個延遲的可運行的下一個 – stinepike