How to Set selected item in BottomNavigationView

前端 未结 12 1834
半阙折子戏
半阙折子戏 2020-12-25 11:48

I am trying to set default item on activity created but it isn\'t working? This is my code:

protected void onCreate(Bundle savedInstanceState) {
    super.o         


        
12条回答
  •  执笔经年
    2020-12-25 12:05

    Just share my working source code

    In Xml,

     
    
        
    
    

    In Java,

      public class TestActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener
    {
        private BottomNavigationView mBtmView;
        private int mMenuId;
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
            super.onCreate(savedInstanceState, persistentState);
            setContentView(R.layout.test);
            mBtmView = (BottomNavigationView) findViewById(R.id.gfPrlBnvBtmView);
            mBtmView.setOnNavigationItemSelectedListener(this);
            mBtmView.getMenu().findItem(R.id.action_yoga).setChecked(true);
        }
    
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            // uncheck the other items.
            mMenuId = item.getItemId();
            for (int i = 0; i < mBtmView.getMenu().size(); i++) {
                MenuItem menuItem = mBtmView.getMenu().getItem(i);
                boolean isChecked = menuItem.getItemId() == item.getItemId();
                menuItem.setChecked(isChecked);
            }
    
            switch (item.getItemId()) {
                case R.id.action_food: {
                }
                break;
                case R.id.action_medical: {
                }
                break;
                case R.id.action_yoga: {
                }
                break;
                case R.id.action_postures: {
                }
                break;
            }
            return true;
        }
    }
    

提交回复
热议问题