如何修复底部导航栏无法正确显示

时间:2019-11-01 20:15:11

标签: java android android-bottomnavigationview

我在尝试在菜单项之间切换时遇到问题。菜单项不会指向正确的图标。 这是我发现此问题时的流程

  1. 从(家庭)片段开始,然后按第二个菜单项(功能)
case R.id.nav_home:
    //home fragment transaction
    actionBar.setTitle("Home");
    HomeFragment fragment1 = new HomeFragment();
    FragmentTransaction fragmentTransaction1 = getSupportFragmentManager().beginTransaction();
    fragmentTransaction1.replace(R.id.content, fragment1, "");
    fragmentTransaction1.commit();
    break;

  1. 第二个菜单项(功能)将转到功能活动
case R.id.nav_features:
    //features fragment transaction
    startActivity(new Intent(DashboardActivity.this, FeaturesActivity.class));
    break;
  1. 关闭功能活动并返回(首页)片段
onBackPressed(); 
  1. 底部导航仍指向第二个菜单项(功能)。

如何使系统指向正确的菜单项?enter image description here

1 个答案:

答案 0 :(得分:2)

您应为此方法返回boolean

 @Override
 public boolean onNavigationItemSelected(@NonNull MenuItem item) {

    //...
 }

执行此操作:

 case R.id.nav_home:
      //home fragment transaction
      actionBar.setTitle("Home");
      HomeFragment fragment1 = new HomeFragment();
      FragmentTransaction fragmentTransaction1 = 
      getSupportFragmentManager().beginTransaction();
      fragmentTransaction1.replace(R.id.content, fragment1, "");
      fragmentTransaction1.commit();
      return true; // add this line and remove break;

如果您不想在单击后选择图标,则可以返回false