phn*_*mnn 15 android bottomnavigationview
我使用BottomNavigationView来切换片段.如何获取当前选中的菜单项,以防止重新打开片段?
BottomNavigationView bottomNavigationView = (BottomNavigationView)
findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_1:
// open fragment 1
break;
case R.id.action_2:
// open fragment 2
break;
case R.id.action_3:
// open fragment 3
break;
}
return false;
}
});
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*ilo 15
首先获取所选项目然后 getMenu().findItem(int itemId)
bottomNavigationView.getMenu().findItem(bottomNavigationView.getSelectedItemId())
Run Code Online (Sandbox Code Playgroud)
解:
private int getSelectedItem(BottomNavigationView bottomNavigationView) {
Menu menu = bottomNavigationView.getMenu();
for (int i = 0; i < bottomNavigationView.getMenu().size(); i++) {
MenuItem menuItem = menu.getItem(i);
if (menuItem.isChecked()) {
return menuItem.getItemId();
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令获取当前选择的菜单项 ID getSelectedItemId:
int selectedItemId = bottomNavigationView.getSelectedItemId();
MenuItem selectedItem = bottomNavigationView.getMenu().findItem(selectedItemId);
Run Code Online (Sandbox Code Playgroud)
此方法从 Android 支持库 25.3.0 开始可用。
| 归档时间: |
|
| 查看次数: |
11986 次 |
| 最近记录: |