标签:navigationview android android-navigation
我在导航抽屉中实现了新的导航视图.现在我想在几个登录和注销条件下隐藏并显示注销菜单项.
这是导航视图的菜单项
<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);
标签:navigationview,android,android-navigation 来源: https://codeday.me/bug/20190829/1763314.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。