How to inflate android NavigationView with another menu dynamically during onClick?

Sudheesh Mohan picture Sudheesh Mohan · Jul 3, 2015 · Viewed 7.1k times · Source

Hi I have a NavigationView and there is an imageview in the headerview of that NavigationView. When I click on the imageview , NavigationView should inflate another menu resource file and replace current menu like in PlayStore app.

I've tried this:

imgIndic.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Log.e("Onclick","Arrow click");
        navigationView.inflateMenu(R.menu.second_menu);
    }
}); 

But when I click on the button, nothing happens! (Log Onclick is showing in the logcat) How can I do this?

Answer

Moinkhan picture Moinkhan · Jul 3, 2015

try the following code

imgIndic.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {      
        navView.getMenu().clear();
        navView.inflateMenu(R.menu.second_menu);
    }
});