我正在使用带有类似于gmail应用程序的片段的导航抽屉。但我遇到两个问题:
1:假设我从导航抽屉中选择了项目x。显示相应的片段(片段x)没有问题。但是,当我更改方向时,将重新创建活动并显示片段1(默认片段),即使导航抽屉将项目x显示为已选中。
2:再次假设我选择了项目x。再次显示相应的片段(片段x)没有问题。现在,我按下主页按钮关闭应用程序并打开其他10个应用程序。在我重新打开应用程序一段时间后,即使导航抽屉将项目x显示为已选中,也会重新创建活动并显示片段1(默认片段)。
这两个问题都很相似,可能需要相同的解决方案。我该如何解决这个问题?
答案 0 :(得分:0)
在Android Manifest中,添加
机器人:configChanges = “keyboardHidden |取向|屏幕尺寸”
这将阻止活动刷新此类更改,包括您提到的情况,这是一个方向更改。
要从最小化位置恢复后恢复活动,请覆盖活动中的onPause和onResume方法。
@Override public void onPause(){ super.onPause(); //始终先调用超类方法}
@Override public void onResume(){ super.onResume(); //做你想做的事情}
供参考:https://developer.android.com/training/basics/activity-lifecycle/pausing.html