
我在导航抽屉中实现了新的导航视图.现在我想在几个登录和注销条件下隐藏并显示注销菜单项.
这是导航视图的菜单项
<group androID:checkableBehavior="single"> <item androID:ID="@+ID/home" androID:checked="false" androID:icon="@drawable/drawer_ic_home" androID:title="@string/home_string" /> <item androID:ID="@+ID/offer_coffee" androID:checked="false" androID:icon="@drawable/drawer_ic_offer_coffee" androID:title="@string/offer_coffee_string" /> <item androID:ID="@+ID/share_coffee" androID:checked="false" androID:icon="@drawable/drawer_ic_share_coffee" androID:title="@string/share_coffee_string" /> <item androID:ID="@+ID/take_coffee" androID:checked="false" androID:icon="@drawable/drawer_ic_take_coffee" androID:title="@string/take_coffee_string" /> <item androID:ID="@+ID/offer_status" androID:checked="false" androID:icon="@drawable/drawer_ic_coffee" androID:title="@string/offer_status" /> <item androID:ID="@+ID/about_us" androID:checked="false" androID:icon="@drawable/drawer_ic_about_us" androID:title="@string/about_us_string" /> <item androID:ID="@+ID/logout" androID:checked="false" androID:icon="@drawable/logout" androID:title="@string/logout" /></group>如果我不登录,我想隐藏logout项目,如果我登录,那么我想显示这个子菜单.
我已经看过几个链接,但它们都在处理一组项目,但在我的情况下,我必须访问组中名为logout的单个子菜单项.
解决方法:
整个菜单从上到下从0到n索引.所以你有两组,每组5项,然后是0到9.
private boolean ifNotLoggedIn;private NavigationVIEw navigationVIEw;...protected voID onCreate(Bundle savedInstanceState) { ... if(ifNotLoggedIn){ navigationVIEw.getMenu().getItem(7).setVisible(false); } }编辑
正如@Moinkhan指出的那样,我们也可以使用findByID()方法来做类似的事情.
navigationVIEw.getMenu().getItem(R.ID.logout).setVisible(false); 总结 以上是内存溢出为你收集整理的android – 如何在导航视图中获取子菜单的ID全部内容,希望文章能够帮你解决android – 如何在导航视图中获取子菜单的ID所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)