我切换到下一个屏幕,然后返回到原始屏幕,并想从我离开的地方继续提取,保存和恢复数据。在活动1:我有10多个按钮,可以选择和取消选择按钮,如果转到下一个屏幕,如果我回来,它应该不会重新加载,它应该告诉我我停在哪里,
up1 = (Button) findViewById(R.id.adultup1);
up1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (upt1 == 0) {
up1.setBackgroundResource(R.drawable.adultup1);
upt1 = 1;
} else {
up1.setBackgroundResource(R.drawable.adultup1_pressed);
upt1 = 0;
}
}
});
最佳答案
在此处查看图像(也阅读文本):http://developer.android.com/reference/android/app/Activity.html
如果不需要重新加载状态,则应考虑在每个活动状态下要做什么。
如果您这样做:
Activity1-> startActivity(Activity2)-> Activity2-> Activity2.onBackPressed-> Activity1
比没有重装。从第二到第一返回时,您被称为onResume
但如果您这样做:
Activity1-> startActivity(Activity2)-> Activity2-> startActivity(Activity1)-> Activity1
那么您需要将状态保存在某个外部类(静态类成员)中,并以onCreate
状态从中加载Activity1状态。
当应用程序进程被杀死,并且用户返回到中断的活动时,情况也是如此(如您从图像中看到的那样)。
如果仅使用Activity2上的finish()
返回到Activity1,则不会调用onCreate
,只有onResume
存储按钮状态
public static int _state = -1;
onCreate(Bundle savedInstanceState){
if(_state == -1){
_state = 0;
// this is first time we're using "_state" variable, so do init
} else {
// this is second or later, so just load state variable and setup UI
}
}
关于android - 如何在不刷新的情况下重新加载 Activity ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7631909/