繁体   English   中英

在两个活动之间切换而不会丢失数据

[英]switch between two activities without data lost

只想在活动之间进行切换,并且不想丢失任何活动的信息,例如:

我有一个活动,即具有一个listview的activity_one,从webservice加载了数千个数据。 现在我有另一个活动,即具有一个listview的activity_two,从webservice加载了数千个数据。

当我从activity_one移到activity_two时,activity_one的数据丢失了,反之亦然。

当它加载一次,然后不想在应用程序运行时再次做。

您可以使用onSaveInstanceState和onRestoreInstanceState在活动之间保留数据。

这是一个示例演示

float[] localFloatArray = {3.14f, 2.718f, 0.577f};
String localUserName = "Euler";

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    //Save the relevant information
    outState.putString("name", localUserName);
    outState.putFloatArray("array", localFloatArray);
}


@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
     //Restore the relevant information
    localUserName = savedInstanceState.getString("name");
    localFloatArray = savedInstanceState.getFloatArray("array");
}

真正的事情是您如何在这两个活动之间移动。 切换时可能正在整理它们。 如果是这种情况,则可以将信息保存在静态ArrayList并且可以在onCreate方法上检查其长度是否为0,如果为0,则尝试加载数据,否则从ArrayList加载数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM