我正在Android
用 a 实现一个应用程序,但Navigation Drawer
我遇到了问题。
我从 Android Studio 中的模板(带有导航抽屉的 Android 应用程序)开始,并在其中添加了一个新部分 - 设置。当点击设置按钮时,用户会被带到一个新的活动,用户可以通过按下操作栏中的“向上”按钮(效果很好)或按下物理后退按钮来返回。那部分效果不太好。
当按下“向上”按钮然后打开导航栏时,我的主页会突出显示(选中)。但是当使用返回按钮并打开导航抽屉时,设置项被选中,就好像用户正在查看该页面而不是主页一样。
所以这是因为导航抽屉片段没有更新,我还没有找到解决这个问题的任何方法。我想要的是重新创建导航抽屉(这是我认为按下“向上”按钮时会发生的情况)。你知道我怎样才能做到这一点吗?
我开始研究基于此的解决方案:
getSupportFragmentManager().addOnBackStackChangedListener(
new FragmentManager.OnBackStackChangedListener() {
public void onBackStackChanged() {
// Update your UI here.
}
});
但我不知道在那里写什么会更新整个 UI。(通过调用 onCreate() 进行了实验,但它太丑了,不可能是正确的方法)。
有什么建议么?
更新:
从另一个活动按 BACK 时不会发送 onBackStackChanged 事件。仅适用于当前活动中的片段。