【问题标题】:How to deselect the menu section in Navigation-Drawer?如何取消选择导航抽屉中的菜单部分?
【发布时间】:2018-02-01 12:51:27
【问题描述】:

如何在此函数中删除图像选定部分的颜色,非常感谢您的帮助,第一个代码是onnavigationitemselected,第二个代码是我要删除所选颜色的函数

public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_mapa)
        {
            // Handle the home action
            MapFragment mapFragment = new MapFragment();
            FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, mapFragment);
            fragmentTransaction.commit();

        } else if (id == R.id.nav_anuncios)
        {
            AnunciosFragment anunciosFragment = new AnunciosFragment();
            FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, anunciosFragment);
            fragmentTransaction.commit();
        } else if (id == R.id.nav_adopciones)
        {
            AdopcionesFragment adopcionesFragment = new AdopcionesFragment();
            FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, adopcionesFragment);
            fragmentTransaction.commit();
        } else if (id == R.id.nav_protectoras)
        {
            ProtectorasFragment protectorasFragment = new ProtectorasFragment();
            FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, protectorasFragment);
            fragmentTransaction.commit();
        } else if (id == R.id.nav_ajustes)
        {
            Toast.makeText(this, "Ajustes clicked", Toast.LENGTH_SHORT).show();
        } else if (id == R.id.nav_contacto)
        {
            Toast.makeText(this, "Contacto Clicked", Toast.LENGTH_SHORT).show();
        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);

        return true;

    }

Perfil 函数:

public void Perfil(View view)
    {
        HomeFragment homeFragment = new HomeFragment();
        FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.fragment_container, homeFragment);
        fragmentTransaction.commit();
        //per tancar NAV al seleccionar
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);

    }

我想消除选择的图像:

【问题讨论】:

  • 你能解释一下你想删除一个菜单吗?或删除所选部分的颜色?
  • 移除选中部分的颜色

标签: android android-fragments android-activity navigation-drawer


【解决方案1】:

你可以这样做:

public boolean onNavigationItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case R.id.nav_camera:

                break;
            case R.id.nav_gallery:

                break;
        }
        mDrawerLayout.closeDrawer(GravityCompat.START);

        return false;
    }

return false 表示未选中状态。

否则你可以这样做:

drawer.getMenu().findItem(R.id.nav_camera).setChecked(false);

【讨论】:

  • 我希望我选择一个具有配置文件功能的图像,删除所选的颜色
  • 对不起,我没有得到你
  • 当我调用 Perfil 函数时,必须取消选择菜单部分
  • 然后点击配置文件你可以使用drawer.getMenu().findItem(R.id.nav_camera).setChecked(false);
  • 菜单 menuNav = mNavigationView.getMenu(); MenuItem logoutItem = menuNav.findItem(R.id.menu_logout);
【解决方案2】:

你需要选中 false 取消选择菜单项

navigationView.getMenu().getItem(3).setChecked(false);

getItem(3) 表示你需要传递菜单项的索引

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2013-06-13
    • 2015-09-26
    • 1970-01-01
    相关资源
    最近更新 更多