-1

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

  1. 从(Home)片段开始,然后按第二个菜单项(Features)
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. 底部导航仍然指向第二个菜单项(功能)。

如何使系统指向正确的菜单项?在此处输入图像描述

4

1 回答 1

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.

于 2019-11-01T20:20:57.980 回答