2012-04-10 46 views
2

好吧。我想在按下按鈕時將進度條可見性設置爲可見,例如...然後我想在恢復同一活動時將可見性設置爲「通過」。顯示一個進度條,然後當我恢復活動時隱藏它

如果可能的話加載其他數據的同時。

這裏就是我想:

public void onPause(){ 
super.onPause(); 
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar); 
progressBar.setVisibility(View.GONE); 
} 

Button aButton = (Button) findViewById(R.id.abutton); 
    aButton.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
     final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar); 
     progressBar.setVisibility(View.VISIBLE); 


    Intent i = new Intent("org.packagename.etc.etc"); 
     startActivity(i); 
     } 
    }); 

,但它不工作,因爲當我點擊按鈕,它不顯示它只是跳轉直接到酒吧活動(加載數據需要幾秒鐘)。所以它需要線程或什麼?

halp meh!

+0

那麼最新的問題呢? – 2012-04-10 11:14:41

+0

對不起,更新了完整的描述。 :3 – jimbob 2012-04-10 11:21:55

回答

3

這裏的問題(如果我是對的)是進度條是當前正在運行的活動的一部分,並且您希望在另一活動(「org.packagename.etc.etc」)顯示它時顯示它做一些工作?

如果是這種情況,您應該在開展工作的活動中啓動進度欄。但這本身也不起作用。你必須在單獨的線程中完成這項工作!您應該考慮使用AsyncTask來加載數據。

本教程可能會幫助你。 http://www.vogella.de/articles/AndroidPerformance/article.html

當你啓動一個進度條時,它會在UI線程上運行,但是如果你也在UI線程上工作,它將不會顯示進度條,直到其他工作完成。到那時,你很可能已經隱藏了進度條了。

+0

我只是想顯示一個進度條,直到下一個活動打開。我怎樣才能使用ASync任務來做到這一點? – jimbob 2012-04-10 12:01:26

+0

好排序歡呼聲。 – jimbob 2012-04-11 20:58:39

+2

雖然這是公認的答案,但我認爲這是一個不好的答案,因爲沒有顯示任何有關原始主題代碼的代碼 – sports 2014-04-06 19:12:58

相關問題