片段底部导航栏可点击一次选择项

时间:2021-06-15 11:31:53

标签: java android fragment android-navigation-bar

当我再次单击任何项​​目时,每次都会重新加载相同的片段视图。但我想做一次可点击的底部导航栏项目。我该怎么做?

这是 MainActivity.java 代码

navigationMenu=findViewById(R.id.navigation);
    navigationMenu.setOnNavigationItemSelectedListener(navListener);

   //navigationMenu.getMenu().getItem(2).setIcon(R.drawable.arrow_down);

    //I added this if statement to keep the selected fragment when rotating the device
    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                new UserHomeFragment()).commit();
    }

这是点击监听器代码

private BottomNavigationView.OnNavigationItemSelectedListener navListener =
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                Fragment selectedFragment = null;
                switch (item.getItemId()) {
                    case R.id.navigation_home:
                        selectedFragment = new UserHomeFragment();
                        break;
                    case R.id.navigation_works:
                        selectedFragment = new UserWorksFragment();
                        break;
                    case R.id.navigation_completed_works:
                        selectedFragment = new UserCompletedFragment();
                        break;
                    case R.id.navigation_profile:
                        selectedFragment = new UserAccountFragment();
                        break;
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        selectedFragment).commit();
                return true;
            }
        };

0 个答案:

没有答案