gpt4 book ai didi

java - 在应用程序销毁时保存变量不起作用

转载 作者:行者123 更新时间:2023-12-02 06:37:42 26 4
gpt4 key购买 nike

我想在退出 Activity 后保存一些在我的 Android Activity 生命周期内设置的变量,并在我再次启动 Activity 时显示它们,但我似乎无法让事情正常工作。我的做法如下:

我创建了一个整数变量“test”:

public class MainActivity extends Activity {
int test = 1;

然后我编写一个方法来通过按下按钮来更改此变量的值:

public void changeValueTest(View view) {
this.test = 2;
}

然后我使用 onSaveInstanceState() 方法保存更改的值:

static final String TEST = "test variable";

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt(TEST, this.test);
super.onSaveInstanceState(savedInstanceState);
}

然后在 onCreate() 方法中,我输入以下代码来获取并显示更改后的“测试”值:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
this.test = savedInstanceState.getInt(TEST);
TextView textView1 = (TextView)findViewById(R.id.textView1);
textView1.setText("Current test value is: " + test);
}
}

因此,我打开应用程序,按下按钮将“测试”值从 1 更改为 2,然后退出应用程序,等到它从内存中正确删除(当应用程序管理器未在“缓存进程”中显示它时)窗口),再次启动应用程序,textView1 View 显示 1 而不是 2。我做错了什么?请帮忙!谢谢!

最佳答案

What am I doing wrong?

什么都没有。实例状态不涵盖您所描述的场景。

大多数情况下,实例状态用于配置更改(例如屏幕旋转)。其次,如果用户通过“退出”(我假设您的意思是“返回”)以外的方式离开您的应用程序并通过最近任务列表等方式返回到您,则使用实例状态。

关于java - 在应用程序销毁时保存变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19465942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com