底部导航视图单击不起作用


navigationView = (BottomNavigationView) findViewById(R.id.navigation);
navigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
navigationView.postDelayed(() -> {
int itemId = item.getItemId();
System.out.println("it works");
if (itemId == R.id.homeFragment) {
startActivity(new Intent(getApplicationContext(), HomeActivity.class));
} else if (itemId == R.id.searchFragment) {
startActivity(new Intent(getApplicationContext(), SearchActivity.class));
} else if (itemId == R.id.artistFragment) {
startActivity(new Intent(getApplicationContext(), ArtistProfileActivity.class));
} else if (itemId == R.id.libraryFragment) {
startActivity(new Intent(getApplicationContext(), FavoriteActivity.class));
}
finish();
}, 50);
return true;
}
});

导航栏是可点击的,但它不能把我带到下一页没有错误消息。它只是停留在主页上。我不是很确定如何的底部导航视图的工作原理,大部分的代码是从网上,我有问题理解它。

在你的问题你说你不知道BotttomNavigationView是如何工作的,我在这里提供了一个链接到一个最好的android开发导师在YouTube上,将帮助您了解深入,但为进一步明确如何从顶部的代码只需提供,我建议你使用一个开关箱如下我使用和工作对我来说按照CodingInFlow教程

private final BottomNavigationView.OnNavigationItemSelectedListener navListener =
item -> {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.home:
selectedFragment = new HomeFragment();
break;
case R.id.categories:
selectedFragment = new CategoriesFrag();
break;
case R.id.cart:
selectedFragment = new CartFragment();
break;
case R.id.transactions:
selectedFragment=new TransactionsFrag();
break;
case R.id.customerProfile:
selectedFragment=new ProfileFragment();
break;
}
assert selectedFragment != null;
getSupportFragmentManager().beginTransaction().replace(R.id.customer_container, selectedFragment).commit();
return true;
};

相关内容

  • 没有找到相关文章