BottomNavigationView 与 setOnItemSelectedListener()

BottomNavigationView with setOnItemSelectedListener()

我正在尝试使用 BottomNavigationView 构建应用程序,我将 setOnItemSelectedListener() 方法设置为底部导航,这样当用户 select 底部导航中的菜单之一时,我可以做我想做的事。

当我不设置 setOnItemSelectedListener() 时一切都很好,但是当我设置 setOnItemSelectedListener() 方法时,当用户 select 底部导航菜单时片段不会自动更新。

我在想是不是设置这个方法的时候需要手动处理分片交易?

谢谢^^

是的。您需要手动替换 onNavigationItemSelected

上的片段项目

示例:

private BottomNavigationView.OnNavigationItemSelectedListener navListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            // By using switch we can easily get
            // the selected fragment
            // by using there id.
            Fragment selectedFragment = null;
            switch (item.getItemId()) {
                case R.id.algorithm:
                    selectedFragment = new AlgorithmFragment();
                    break;
                case R.id.course:
                    selectedFragment = new CourseFragment();
                    break;
                case R.id.profile:
                    selectedFragment = new ProfileFragment();
                    break;
            }
            // It will help to replace the 
              // one fragment to other.
            getSupportFragmentManager()
                    .beginTransaction()
                    .replace(R.id.fragment_container, selectedFragment)
                    .commit();
            return true;
        }
    };

您可以在这里找到很好的教程:https://www.geeksforgeeks.org/bottomnavigationview-inandroid/