【发布时间】:2018-02-03 05:34:43
【问题描述】:
我的bottomNavigationView 中有三件物品
当我单击个人资料项时,代码会检查此人是否已登录。如果此人未登录,那么我需要启动一个新的Activity,否则我需要在我的frameLayout 中加载一个fragment。
现在的问题是,当我单击配置文件项并且此人未登录时,活动开始,但是当我单击返回时,配置文件项被突出显示,但主页片段被加载到框架布局中。
我尝试了以下方法来解决这个问题
1) 我使用setSelectedItemId 来设置点击个人资料项目时的项目颜色,但它不起作用
还有其他方法吗?
【问题讨论】:
-
有没有试过把 setOnNavigationItemReselectedListener(BottomNavigationView.OnNavigationItemReselectedListener listener) 设置一个监听器,当当前选中的底部导航项被重新选中时会得到通知。
-
这是您如何知道单击了哪个菜单然后使用 setItemIconTintList(ColorStateList tint) 更改其颜色的方法
-
@vikaskumar 我没有重新选择该项目。我在 Home 项上,然后单击 Profile 项。
-
@vikaskumar 我还需要突出显示当前已加载片段的项目。
-
你能把上面的代码贴出来吗,在这里我不知道你哪里出错了。我得到的是您正在尝试检查天气用户是否已登录然后打开活动或片段。但是,如果您在导航中放置一个配置文件选项卡,则无论如何都应该打开一些片段。您可以在适配器中或在打开第三个选项卡之前的某个位置检查您的状况。您可以在上面放置监听器以了解单击了哪个菜单项,然后在此处进行逻辑以打开活动或配置文件。如果用户未登录,则打开主页片段。
标签: android android-fragments android-fragmentactivity bottomnavigationview