gpt4 book ai didi

java - 添加 NavigationItemSelectedListener 后菜单项不会变为 Activity 状态

转载 作者:行者123 更新时间:2023-12-02 00:25:55 24 4
gpt4 key购买 nike

我有一个 BottomNavigationView

它可以工作并显示用户单击的项目下的文本标题。

但是,添加 OnNavigationItemSelectedListener 会停止点击的项目,以在其图标下方显示其标题。它仍然会产生链式 react ,并且运行附加到该项目监听器的任何代码。添加 Log.d() 并在单击项目时将消息打印到控制台显示监听器正在运行。但由于某种原因,该项目的文本标题不会显示在下面。所以你不知道你最后按下的是哪个按钮。

我尝试将其从 onStart() 移至 onCreate() 但出现了同样的问题。

注释掉它可以解决问题,但我想触发项目点击事件。

监听器

bnvMain.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {

switch (menuItem.getItemId()) {
case R.id.navigation_home:
// open fragment 1
break;
case R.id.navigation_dashboard:
// open fragment 2
break;
case R.id.navigation_notifications:
// open fragment 3
break;
case R.id.navigation_profile:
// open fragment 4
Log.d("myTag", "This seems to be running...");
break;
}
return false;
}
});

XML

<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bnvMain"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:background="@color/colorPrimary"
app:itemIconTint="@color/colorAccent"
app:itemTextColor="@color/colorNavText"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation" />

最佳答案

我解决了。解决方案是改变

return false;

return true;

我的猜测是它告诉监听器菜单项未被单击?

关于java - 添加 NavigationItemSelectedListener 后菜单项不会变为 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58050898/

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