使用上次选择的片段重新打开应用程序

时间:2016-04-09 03:03:37

标签: android android-fragments

对不起我的小问题,但我现在正在搜索几个小时,如果我找不到答案,我会发疯的。

我正在制作一个带有一个MainActivity和多个片段的android工作室应用程序,但我想要的是当用户选择片段并且他们回来时,应用程序保存所选片段并且应用程序在该片段中重新打开,希望我会得到答案或任何帮助。请帮我解决这个问题! (抱歉我的英语不好)

1 个答案:

答案 0 :(得分:2)

解决此问题的一种方法是使用SharedPreferences跟踪最后一个可见Fragment

例如,在Activity onStop()onSaveInstanceState(Bundle)方法中,将当前Fragment的ID或标记放在{{ 1}}。在SharedPreferences Activity方法中,获取您在onCreate()中放置的Fragment的ID或代码首选项。如果该值不为null,请使用SharedPreferences将值与Fragment ID或标记进行比较,实例化switch-case,然后将Fragment添加并提交给{Fragment 1}}。否则,添加并提交您的默认初始FragmentTransaction

如果您希望使用Fragment执行相同的逻辑,则可以创建包含类似逻辑的启动/启动Activities以获取上次打开的Activity

Activity文件中:

AndroidManifest.xml

<activity android:name=".ui.login.LaunchActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 课程的onCreate()方法中:

LaunchActivity