2012-09-05 61 views
1

如何擺脫某項活動並將其恢復到之前的狀態? 在那個活動中,我有微調。如果我從下拉列表中選擇第二個項目,則從該活動中退出,然後再次返回,活動正在重新加載。但我想恢復以前的活動?如何在android中恢復活動狀態?

spinner.post(new Runnable() { 
     public void run() { 
      spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

       @Override 
       public void onItemSelected(AdapterView<?> arg0, View arg1, 
         int arg2, long arg3) { 
        dealerCd_fromDD = dealerInsp.getMap2().get(
          dealerInsp.getLoadseqArray()[arg2]); 
        GlobalVehicle.setVehList(loadVehicles(dealerCd_fromDD)); 
        loadHosts(GlobalVehicle.getVehList()); 
        dealerDetails(dealerCd_fromDD, GlobalVehicle.getDealerObject()); 
        loadDefaults(arg2); 
        pos=arg2; 
        deliveryInspDb.delete("damages"); 
       } 

       @Override 
       public void onNothingSelected(AdapterView<?> arg0) { 

       } 
      }); 
     } 
    }); 

請任何一個能幫助我在這個..

我試圖調用finish(),但我從3個不同的活動來該活動。所以在那種情況下它不工作..

+0

你只希望微調器選擇數據或整個數據? – Ishtiaq

+0

整個活動數據... – user1441341

+0

我不知道你的snario是什麼,但是當我工作這樣的事情,所以我做了一個signlton類和**新的意圖**和**後退鍵按下**我保存的數據在西格爾頓,當我再次到達活動,我從之前保存的singlton類加載它,你可以使用靜態 – Ishtiaq

回答

0

您可以在onStop()onPause()上將您的數據存儲到SharedPreferences,並將其檢索onRestart()您的活動事件。

 @Override 
     protected void onStop() { 
      // TODO Auto-generated method stub 
      super.onStop(); 
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); 
      SharedPreferences.Editor editor = settings.edit();      
      editor.putInt("Selected", spinner.getSelectedItemPosition()); 
      editor.commit(); 
     } 
    .... 

    @Override 
    protected void onRestart() { 
     // TODO Auto-generated method stub 
     super.onRestart();   
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); 
     spinner.setSelection(settings.getInt("Selected", 0));   
    } 

您也可以找回onCreate(),如果你想,即使你的活動中喪生

更新您的數據應該恢復:如果您是從不同的活動來了,你可以試試Intent.FLAG_ACTIVITY_REORDER_TO_FRONT,這將如果沒有遇害,請將您的活動置於前面。