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

问题描述

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

这是 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;
            }
        };

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...