How to uncheck checked items in Navigation View?

前端 未结 12 1398
夕颜
夕颜 2020-12-15 15:48

I know it\'s possible to highlight a navigation view item by calling setCheckedItem() or return true value in onNavigationItemSelected to display t

12条回答
  •  無奈伤痛
    2020-12-15 16:52

    To uncheck it inside NavigationItemSelectedListener I had to use post (to UI thread):

    App.getHandler().post(() -> menuItem.setChecked(false));
    

    Full example:

     NavigationView navigationView = findViewById(R.id.nav_view);
            navigationView.setNavigationItemSelectedListener(
                    menuItem -> {
                        menuItem.setChecked(true);
    
                        mDrawerLayout.closeDrawers();
    
                        switch (menuItem.getItemId()) {
                            ...
                        }
    
                        App.getHandler().post(() -> menuItem.setChecked(false));
    
                        return true;
                    });
    

    p.s. in my case App.getHandler() returns Handler instance for UI Thread Lopper

提交回复
热议问题