gpt4 book ai didi

android - 在android中将数据从一个 Activity 传递到另一个 Activity 时获取空值

转载 作者:行者123 更新时间:2023-11-29 21:29:51 25 4
gpt4 key购买 nike

我将一些数据存储在 Activity1 的静态变量中,并在 Activity3 和 Activity 5 中访问。即..
Activity 1---> Activity 2---> Activity 3
..................|
.........................Activity4.-----> Activ5

如果我们从 Activity1 完全关闭应用程序(即如果用户在 Activ5,如果他点击后退按钮然后 -->Activ4-->Activ2-->Activ1-->Exit),这工作正常

但是用户通过单击移动退出按钮(不是应用程序退出)在 Activ3、4、5 退出应用程序,现在几小时后用户重新打开应用程序,它(应用程序)从 Activi3 或 4 或 5 开始.(即曾经关闭应用程序的地方)。

现在,由于我正在使用一些数据(我将其存储在 Activ1 的静态变量中。)
我得到空值。为什么这是幸福的。如何避免此类错误。
我已经使用 sharedpref 来避免这种情况。这是唯一的解决方案吗?

最佳答案

在重新创建 Activity 时恢复 Activity 状态,以便稍后可以检索传递的值。 例如对于通过 intent 传递的整数,请执行以下操作:-

//this will save the value if an activity is killed in background.
@Override
protected void onSaveInstanceState(Bundle outState)
{
getIntent().putExtra("count", getIntent().getStringExtra("count"));
super.onSaveInstanceState(outState);
}

//In restore instance state, retrieve the stored values. The following work can also be done //in oncreate, as when an activity is killed in background, onCreate method is also called.

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
if(savedInstanceState == null)
return;
int count = getIntent().getIntExtra("count", 0);
super.onRestoreInstanceState(savedInstanceState);
}

关于android - 在android中将数据从一个 Activity 传递到另一个 Activity 时获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740737/

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