Я создаю приложения, которые используют Navigation Drawer Activity. После входа в систему после входа в систему пользователь переходит к основному виду деятельности, который содержит навигационную панель.
Я бы хотел настроить меню панели навигации на основе роли пользователя, возвращаемой JSON, например, role = 1 приведет вас к меню навигации для role-1, role = 2 покажет вам меню навигации для роль-2
Я пытался установить onCreate с условием if (role), но оно выдало ошибку как следующее
«Попытка вызвать виртуальный метод» void android.support.design.widget.NavigationView.setNavigationItemSelectedListener) "
Это то, что я пытался
if(Integer.parseInt(String.valueOf(role))==1){
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
View header = navigationView.getHeaderView(0);
namaUser = (TextView) header.findViewById(R.id.NamaUser);
emailUser = (TextView) header.findViewById(R.id.EmailUser);
emailUser.setText(emailHolder);
namaUser.setText(namaDepan +" "+namaBelakang);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
}else{
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
View header = navigationView.getHeaderView(0);
namaUser = (TextView) header.findViewById(R.id.NamaUser);
emailUser = (TextView) header.findViewById(R.id.EmailUser);
emailUser.setText(emailHolder);
namaUser.setText(namaDepan +" "+namaBelakang);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
}
это дало мне
«Попытка вызвать виртуальный метод» void android.support.design.widget.NavigationView.setNavigationItemSelectedListener) "
есть решение?
Извините за мой плохой английский