2012-03-29 47 views
0

** 解決 ** (見註釋)Android的 - 進度更新一次,而不是兩次

我通過Service運行更新ProgressBar(在活動的XML佈局申報),並通知我Activity。首次調用Activity時,一切正常。然後通過finish()方法完成活動,並且應用程序繼續執行其循環。

最後再次調用此活動來執行相同的操作。問題是ProgressBar不會顯示任何進度!我比較了ProgressBar在兩個活動實例上的變量,完全一樣。我不明白,真的。任何幫助,將不勝感激。


MyActivity

ProgressBar progressBar; 
public void onCreate(Bundle savedInstanceState) { 
    ... 
    progressBar = (ProgressBar) findViewById(R.id.progressBar1); 
    progressBar.setMax(100); 
    progressBar.setProgress(0); 
    ... 
} 

public void get_info_from_service(...) { 
    progressBar.setProgress(service.getPercent()); 
} 

void quit_activity{ 
    Intent myIntent = new Intent(getBaseContext(), OtherActivity.class); 
    MyActivity.this.finish(); 
    startActivity(myIntent); 
} 

爲MyService

for (Listener listener : listeners) { 
    listener.send_notification(this); 
} 

public int getPercent(){ 
    return this.percent; 
} 
+0

您是否收到任何異常?如果是,那麼請發佈日誌... – Prem 2012-03-29 09:35:28

+0

不幸的是,我沒有:/ – PeterGriffin 2012-03-29 09:36:54

+0

我編輯了第一篇文章,但這不會幫助你。該活動被正確通知(因此成功的第一個實例) - 服務中唯一可能的問題將是百分比的錯誤值。 – PeterGriffin 2012-03-29 10:00:44

回答

0

解決。在再次輸入算法之前,務必確保重新初始化變量!

相關問題