提问人:simonetassi 提问时间:11/16/2023 更新时间:11/16/2023 访问量:11
BottomNavigationView.setOnItemSelectedListener() 徽章更新不起作用
BottomNavigationView.setOnItemSelectedListener() badge update not working
问:
我正在尝试使用 .setOnItemSelectedListener() 方法来隐藏与我的 BottomNavigationView 中的菜单项之一关联的徽章,但它不起作用,我无法弄清楚问题出在哪里
这是我的代码:
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
// NAVBAR CONTROL
NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
bottomNavigationView = findViewById(R.id.bottomNavigation);
bottomNavigationView.getOrCreateBadge(R.id.discoverFragment);
bottomNavigationView.getBadge(R.id.discoverFragment).setVisible(false);
// TODO not working at the moment
bottomNavigationView.setOnItemSelectedListener( item -> {
if (item.getItemId() == R.id.discoverFragment){
Log.d(TAG, "discover fragment");
bottomNavigationView.getBadge(R.id.discoverFragment).setVisible(false);
return true;
} else {
Log.d(TAG, "ERROR: Fragment unrecognized");
return false;
}
});
NavigationUI.setupWithNavController(bottomNavigationView, navController);
...
显示我使用的徽章,效果很好。bottomNavigationView.getBadge(R.id.discoverFragment).setVisible(true);
答: 暂无答案
评论