2013-04-25 64 views
0

我在我的活動中有一個進度條。當屏幕方向改變時,我的進度條從零開始工作。如何在方向變化時保存狀態?如何在進度條工作時處理屏幕翻轉?

Thread t = new Thread(new Runnable() { 
     public void run() { 
      try { 
       for (cnt = 1; cnt < max; cnt++) { 
        TimeUnit.MILLISECONDS.sleep(100 * randomNum/50); 
        // refresh 
        h.post(updateProgress); 
       } 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
    t.start(); 

回答

0

這是因爲當屏幕方向改變發生時,活動被重新創建。

我可以給你的建議是將進度保存在與活動無關的地方,然後再次取回。

+0

噢,謝謝。我明白這一點,但究竟(數量,實例)我需要保存和哪種方法? – Sunstrike 2013-04-25 16:45:17

+0

我不太瞭解你的評論。然而,我可以建議你的地方是有一個靜態變量,當你加載進度條時,檢查這個值是否有數據,在這種情況下,加載數據。當你改變進度時,也更新那個靜態變量。 – dwbrito 2013-04-25 16:47:29

+0

@Sunstrike,有用嗎? – dwbrito 2013-04-26 19:30:11