2013-12-18 107 views
0

當我從具有計算結果的活動離開時(例如,檢查幫助活動中的圖表並選擇操作欄中的後退按鈕),計算已重置爲空。導航到其他活動時活動詳細信息丟失

我知道必須有某種方式將活動的狀態設置爲pause,而不是在我離開時停止。

有誰知道我會如何實現這個代碼?有沒有辦法設置活動,以便它不會在用戶離開時破壞?另外,如果我要設置它,那麼計算是否固定在該活動上,或者當我重新計算時它會刷新?

的操作欄後退按鈕的代碼是這樣的:

 final Button actionBarHome = (Button)actionBarLayout.    
     findViewById(R.id.action_bar_title); 
     actionBarHome.setBackgroundResource(R.drawable.ic_action_back); 
     actionBarHome.setOnClickListener(this); 
     actionBarHome.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) {     

       startActivity(intent2); 

      } 

     }); 

Calculated resut!

Navigated away and clicked back button

Results cleared

+0

嘗試搞亂捆綁? – Skynet

+0

我對捆綁狀態不太熟悉,我剛開始從Java開發Android。 –

+0

現在是時候學習:http://developer.android.com/reference/android/os/Bundle.html http://stackoverflow.com/questions/4999991/what-is-the-importance-of -bundle-a-android-program http://stackoverflow.com/questions/14876273/simple-example-for-intent-and-bundle – Skynet

回答

3

的活動週期是從你的手真。你應該自己處理恢復你的活動。將數據放入onSaveInstanceState包中,並使用onCreate中的savedInstanceState包重新填充視圖。

你可以參考這篇文章Recreating an Activity

+0

所以我在這種情況下想的是: –

+0

'static final String OFFSET_LENGTH =「offsetlength」; public void onSaveInstanceState(Bundle savedInstanceState){ //保存用戶當前的遊戲狀態 savedInstanceState.putdouble(OFFSET_LENGTH,mark1); super.onSaveInstanceState(savedInstanceState); ' –

+0

然後當我在onCreate中加載像這樣的活動時調用數據? if(savedInstanceState!= null){ //從已保存狀態恢復成員的值 marl1 = savedInstanceState.getInt(OFFSET_LENGTH);' –

相關問題