我切换到下一个屏幕,然后返回到原始屏幕,并想从我离开的地方继续提取,保存和恢复数据。在活动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/

10-12 03:18