gpt4 book ai didi

android - setVisibility 在抽屉导航中不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 07:45:25 27 4
gpt4 key购买 nike

我在抽屉中使用 NavigationView 并且 Menu 中有一个项目具有指向 app:actionLayout 属性>LinearLayout 包含一个 TextView,并且 TextView 具有属性 android:visibility="invisible"。我希望在单击 Menu 中的那个 item 时可以看到此 textview。但它不起作用,我添加了一个 Toast 来检查点击监听器是否正常工作,发现点击监听器正常工作但 textView 不可见。

enter image description here

这里是点击监听器(Activity布局名称是:main_activity.xml):

navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.nav_kitchen_key:
View kitchenKeyLayout = getLayoutInflater().inflate(R.layout.nav_kitchen_key, null);
TextView kitchenKeyTextView = (TextView)kitchenKeyLayout.findViewById(R.id.show_kitchen_key);
kitchenKeyTextView.setVisibility(View.VISIBLE);
break;
}
return true;
}
});

这是菜单项:

<item
android:id="@+id/nav_kitchen_key"
android:title="Kitchen Key"
android:icon="@drawable/if_key"
app:actionLayout="@layout/nav_kitchen_key" />

菜单项app:actionLayout的属性指向nav_kitchen_key.xml,这里是nav_kitchen_key.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/show_kitchen_key"
android:textColor="@color/white"
android:text="2592"
android:visibility="invisible"
android:background="@drawable/kitchen_key_background"/>

</LinearLayout>

最佳答案

你不应该创建新 View ,你应该从 MenuItem 获取,MenuItem.getActionView()

navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.nav_kitchen_key:
LinearLayout kitchenKeyLayout = (LinearLayout) item.getActionView();

TextView kitchenKeyTextView = (TextView)kitchenKeyLayout.findViewById(R.id.show_kitchen_key);
kitchenKeyTextView.setVisibility(View.VISIBLE);
break;
}
return true;
}
});

关于android - setVisibility 在抽屉导航中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45519261/

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