我的应用程序实现了导航抽屉来更改片段。我现在需要的是在用户登录时更新导航抽屉项目
例如: 登录导航项看起来像这样
主页 我的信息 注销
注销导航项看起来像这样
主页 寄存器 登录
我的项目的设置是 一个Base活动,它根据所选的导航抽屉项目扩展导航片段并更改为当前片段。
我的所有其他文件都是根据所选导航抽屉项目而改变的片段。
我有这种工作但导航抽屉只在我登录时更新然后完全关闭应用程序然后重新启动它。
答案 0 :(得分:17)
您的活动必须知道您的抽屉的ListView。所以当你登录时,你只需要告诉你的Activity告诉你的ListView数据已经改变,或者重新加载它。
在您的片段中(或您实际登录的任何地方):
public void logIn() {
...
((DrawerActivity) getActivity()).updateDrawer();
}
在DrawerActivity
:
public void updateDrawer() {
mListViewAdapter.notifyDataSetChanged();
// OR
mListView.setAdapter(new AdapterShowingTheRightTitles());
}