【问题标题】:How to fix bottom navigation bar not showing correctly如何修复底部导航栏未正确显示
【发布时间】:2019-11-01 20:15:11
【问题描述】:

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

  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. 底部导航仍指向第二个菜单项(功能)。

如何让系统指向正确的菜单项?

【问题讨论】:

    标签: java android android-bottomnavigationview


    【解决方案1】:

    你应该为这个方法返回一个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

    【讨论】:

    • 我想说的是,当我结束弹出的(功能)活动时,系统将返回(主页)片段,而底部导航按钮仍指向(功能) ) , (Home) 片段应该与主页按钮匹配?
    • @qing 你可以在onNavigationItemSelected()中选择feature时返回false
    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 2021-08-09
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多