如何退出活动并将其恢复到以前的状态? 在那次活动中,我有旋转器。如果我从下拉列表中选择第二项,我从该活动中退出并再次返回,活动正在重新加载。但我想恢复以前活动的确切内容?
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 :(得分:0)
http://wptrafficanalyzer.in/blog/implement-swiping-between-tabs-with-viewpager-in-action-bar-using-sherlock-library/尝试使用Fragment。您可以跟进链接。
答案 1 :(得分: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
,如果没有被杀,这将把您的活动带到前面。
答案 2 :(得分:0)
尝试使用onSaveInstanceState
保存活动状态,onRestoreInstanceState
用于检索活动状态。
看看这个链接,它可能会解决这个问题。
https://stackoverflow.com/a/151940/1626878