2013-04-25 22 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