Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在应用程序流再次启动之前保留活动中的值_Android_Android Intent_Bundle - Fatal编程技术网

Android 如何在应用程序流再次启动之前保留活动中的值

Android 如何在应用程序流再次启动之前保留活动中的值,android,android-intent,bundle,Android,Android Intent,Bundle,我真的不知道如何用正确的方式写标题,但我会尽力解释这个问题。我正在开发一个应用程序,它在一个序列中有六个活动,登录是第一个活动,登录成功后,我通过bundle和所有其他活动将用户名传递给第二个活动。在最后一个活动中,一旦流程成功,它必须返回到第二个活动。但是,它必须保留用户名。与现在一样,当应用程序进入第二个活动时,它会崩溃,因为它无法获取用户名值,即使使用捆绑包也是如此。这是一种如何将两个不同的活动绑定到同一个活动的方法。非常简单 将viewpager与片段一起使用内部活动而不是活动(活动的加

我真的不知道如何用正确的方式写标题,但我会尽力解释这个问题。我正在开发一个应用程序,它在一个序列中有六个活动,登录是第一个活动,登录成功后,我通过bundle和所有其他活动将用户名传递给第二个活动。在最后一个活动中,一旦流程成功,它必须返回到第二个活动。但是,它必须保留用户名。与现在一样,当应用程序进入第二个活动时,它会崩溃,因为它无法获取用户名值,即使使用捆绑包也是如此。这是一种如何将两个不同的活动绑定到同一个活动的方法。

非常简单

viewpager片段一起使用内部活动而不是活动(活动的加载时间也比片段长)

您可以使用自定义的不可滑动的viewpager,可以在谷歌上轻松找到。 -使用Viewpager, -禁用刷卡

使用片段上的单击回调,或EventBus在活动和片段之间传递数据

我建议使用Eventbus,因为它是从任何地方发送和接收数据的最佳方式


如果您遇到任何问题,您可以再问我任何问题。

您有两种选择来解决您的问题

第一种方法

登录成功后,使用绑定将用户名传递到下一个活动

MainActivity类的OnCreate方法检索用户名

覆盖BackPressed方法,在导航回上一个活动时添加一个带有用户名的捆绑包,以避免应用程序崩溃

第二种方法

这个可能没那么乏味

登录成功后,使用共享首选项存储用户名,并在需要时检索用户名


这是许多解决问题的方法中的两种。希望这有帮助

您能用第二个活动代码进行编辑吗?它崩溃的原因有很多。如果第二个活动失败,我将打开一个新实例,并删除此时不需要的backbackback。使用单例存储全局数据,而不是像那样尝试传递数据。使用SharedReferences存储数据值。检查链接以供参考。[我会试试看,谢谢!谢谢,如果你觉得有用,请接受答案。我是android新手,你有适合初学者的turotorial可供分享吗?我是android新手,你有适合初学者的turotorial可供分享吗?当然,只适用于viewpager适配器使用此和事件总线,