I need to place a MenuItem by default checked

0

I would like the Agrocentro item to be by default and setChequed only at the beginning But I only get the item if it is by default but not checked in the drawer.

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.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
    if (navigationView != null) {
        prepararDrawer(navigationView);
        setTitle("Awal");
    }
    MenuItem item = navigationView.getMenu().findItem(R.id.nav_agracentro);
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.content_main, Agrocentro.newInstance());
    transaction.commit();
}
private void prepararDrawer(NavigationView navigationView) {

    navigationView.setNavigationItemSelectedListener(
            new NavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(MenuItem menuItem) {
                    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
                    menuItem.setChecked(true);
                    seleccionarItem(menuItem);
                    drawer.closeDrawers();
                    return true;
                }
            });

}

private void seleccionarItem(MenuItem itemDrawer) {
    Fragment fragmentoGenerico = null;
    FragmentManager fragmentManager = getSupportFragmentManager();

    switch (itemDrawer.getItemId()) {
        case R.id.nav_agracentro:
            fragmentoGenerico = new Agrocentro();
            setTitle("Empresas Asociadas");
            break;
        case R.id.nav_camera:
            fragmentoGenerico = new Buscados();
            // Setear título actual
            setTitle(itemDrawer.getTitle());
            break;
        case R.id.nav_gallery:
            fragmentoGenerico = new Herbicidas();
            // Setear título actual
            setTitle(itemDrawer.getTitle());
            break;
        case R.id.nav_slideshow:
            fragmentoGenerico = new Fungicidas(); // Fragmento para la sección Cuenta
            // Setear título actual
            setTitle(itemDrawer.getTitle());
            break;
        case R.id.nav_manage:
            fragmentoGenerico = new Insecticidas();
            // Setear título actual
            setTitle(itemDrawer.getTitle());
            break;
        case R.id.nav_man:
            fragmentoGenerico = new Correctores();
            // Setear título actual
            setTitle(itemDrawer.getTitle());
            break;
    }
    if (fragmentoGenerico != null) {
        fragmentManager
                .beginTransaction()
                .replace(R.id.content_main, fragmentoGenerico)
                .commit();
    }
}
    
asked by Kenneth Martínez 04.06.2017 в 23:58
source

1 answer

-1

You can use the id of the element, in this case nav_agracentro and configure it as selected:

navigationView.setCheckedItem(R.id.nav_agracentro);
    
answered by 05.06.2017 в 20:06