Код
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
Fragment fragment = null;
if (mDatabase.getUserType().equals("Seller")) {
if (id == R.id.home) {
fragment = new Home_Seller();
} else if (id == R.id.products) {
fragment = new Products_Sellers();
} else if (id == R.id.orders) {
fragment = new Orders_Seller_Pending();
} else if (id == R.id.delivery) {
fragment = new About();
} else if (id == R.id.earninga) {
fragment = new Contact();
} else if (id == R.id.contact) {
fragment = new Contact();
}
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.mainFrame, fragment);
ft.commit();
}
} else {
if (id == R.id.home) {
fragment = new Home_Delivery();
} else if (id == R.id.contact) {
fragment = new Contact();
}else {
Toast.makeText(getApplicationContext(),"You do not have permission to access this feature", Toast.LENGTH_LONG).show();
}
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
Можно ли использовать 2 меню просмотра навигации для 2 ситуаций? Мне как-то нужно выбрать меню навигации в зависимости от типа пользователя, обращающегося к приложению. Я рассмотрел возможность использования двух разных родительских действий для самого навигационного ящика. Есть ли другое решение?