gpt4 book ai didi

java - 如何停止单击相同的底部导航项?

转载 作者:行者123 更新时间:2023-11-30 04:58:55 46 4
gpt4 key购买 nike

我有一个包含 4 个菜单项的底部导航。

如果用户在主页导航 fragment 中并再次点击主页导航项,则 fragment 将被重新创建。

如何禁止点击当前导航菜单项?

这是我的导航代码:

AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(R.id.navigation_home, R.id.navigation_feed, R.id.navigation_profile, R.id.trips_feed).build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);

最佳答案

你需要用 switch case 来管理它所以获取现在打开的 fragment 然后说如果fragment打开了,就再也不打开了

示例代码:

fragment fragment = null;

    List<Fragment> fragments = getSupportFragmentManager().getFragments();

for (Fragment currentFragment : fragments) {


switch (item.getItemId()) {

case R.id.navigation_home:
if (!(currentFragment instanceof HomeFragmentGeneral)) {
fragment = HomeFragmentGeneral.newInstance();
}
break;


case R.id.navigation_search:
if (!(currentFragment instanceof NearlyFrag)) {
fragment = NearlyFrag.newInstance();
}
break;

case R.id.navigation_profile:
if (!(currentFragment instanceof ProfileFragment)) {
fragment = ProfileFragment.newInstance();
}
break;
}
}


if (fragment != null) {
attachFragmentToActivity(fragment, R.id.frame);
}

关于java - 如何停止单击相同的底部导航项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58588577/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com