gpt4 book ai didi

android - 如何在导航 View 中获取子菜单的 ID

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:25 25 4
gpt4 key购买 nike

我在抽屉导航中实现了新的导航 View 。现在我想在多个登录和注销条件下隐藏和显示注销菜单项。

这是我的导航 View 的菜单项

<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 的单个子菜单项。

最佳答案

整个菜单的索引从上到下从0n。所以你有两组,每组有 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 - 如何在导航 View 中获取子菜单的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com