android 更改底栏中的默认项目
android change default item in bottom bar
我在我的应用程序中使用底部栏。但是我想更改底部的默认项目(选项卡)bar.I 不要使用任何外部 library.just 如何在应用程序运行时设置我最喜欢的选项卡.
我的代码:
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.action_home:
selectedFragment = Fragment1.newInstance();
break;
case R.id.action_product:
selectedFragment = Fragment2.newInstance();
break;
case R.id.action_order:
selectedFragment = Fragment3.newInstance();
break;
case R.id.action_contact:
selectedFragment = Fragment4.newInstance();
break;
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.scrollView, selectedFragment);
transaction.commit();
return true;
}
});
如果您希望在应用程序启动时打开特定项目。试试这个代码:
bottomNavigationView.setSelectedItemId(R.id.your_id);
但它仅适用于 API 25 岁及以上。
bottomNavigationView.setSelectedItemId(R.id.action_home);
这会起作用
for (int i = 0, size = menu.size(); i < size; i++) {
MenuItem item = menu.getItem(i);
item.setChecked(item.getItemId() == 0);
}
这应该有效(我将它与 api 19+ 一起使用)
bottomNavigationView.getMenu().getItem(index).setChecked(true);
我在我的应用程序中使用底部栏。但是我想更改底部的默认项目(选项卡)bar.I 不要使用任何外部 library.just 如何在应用程序运行时设置我最喜欢的选项卡.
我的代码:
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.action_home:
selectedFragment = Fragment1.newInstance();
break;
case R.id.action_product:
selectedFragment = Fragment2.newInstance();
break;
case R.id.action_order:
selectedFragment = Fragment3.newInstance();
break;
case R.id.action_contact:
selectedFragment = Fragment4.newInstance();
break;
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.scrollView, selectedFragment);
transaction.commit();
return true;
}
});
如果您希望在应用程序启动时打开特定项目。试试这个代码:
bottomNavigationView.setSelectedItemId(R.id.your_id);
但它仅适用于 API 25 岁及以上。
bottomNavigationView.setSelectedItemId(R.id.action_home);
这会起作用
for (int i = 0, size = menu.size(); i < size; i++) {
MenuItem item = menu.getItem(i);
item.setChecked(item.getItemId() == 0);
}
这应该有效(我将它与 api 19+ 一起使用)
bottomNavigationView.getMenu().getItem(index).setChecked(true);