gpt4 book ai didi

android - 存储变量的正确方法是什么,以便在 Activity 发生变化时保留该值?

转载 作者:行者123 更新时间:2023-11-29 16:08:46 24 4
gpt4 key购买 nike

我疯狂地想弄清楚如何在某个地方存储一个变量,所以当我切换到另一个 Activity 然后再次返回时,变量仍然包含这个值。我不久前使用共享首选项做了这个,但这是一个糟糕的解决方案,这比我需要的更持久,而且不是正确的方法。

如果在 Activity 一中按下某个按钮,这将通过 Intent 打开 Activity 二,并在 Activity 二中将值设置为字符串。当转到另一个 Activity ,或按下后退按钮,然后返回 Activity 二时,字符串将重置回其初始值。

我试过:

共享首选项(有效但不好)静态变量(似乎没有任何区别,也许我做错了什么)像这样使用保存的实例状态和恢复状态的方法:

 @Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString(destination, des);
super.onSaveInstanceState(savedInstanceState);
}


@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
des = savedInstanceState.getString(destination);
}

我承认我不知道如何做到这一点,弗兰肯斯坦代码在一起给我带来的问题比其他任何事情都多,但到目前为止还没有出现干草叉。

为了在 Activity 之间将值保存在字符串中,有经验的程序员有什么建议?

最佳答案

您可以使用 Intent 将其作为 extra 传递

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("key", value); // where key is whatever you want to name it
//and will be used to retrieve it in the next
//activity and value is the actual value of your string
startActivity(intent);

然后在您的第二个 Activity 中获取值

Intent curIntent = getIntent();
String variableName = curIntent.getStringExtra("key");

Intents

关于android - 存储变量的正确方法是什么,以便在 Activity 发生变化时保留该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15399020/

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