2012-09-05 65 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,这将如果没有遇害,请将您的活动置于前面。