Java 安卓系统中的onNavigationItemSelected
我想根据Java 安卓系统中的onNavigationItemSelected,java,android,Java,Android,我想根据BottomNavigationView中正在进行的所选项目更新我的UI。问题是,在执行侦听器中的整个方法后,项ID将被更改,并且方法getSelectedItemId()将引用以前在updateUI()方法中调用它时选择的项 我怎样才能解决这个问题 代码如下: mBottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelecte
BottomNavigationView
中正在进行的所选项目更新我的UI。问题是,在执行侦听器中的整个方法后,项ID将被更改,并且方法getSelectedItemId()
将引用以前在updateUI()方法中调用它时选择的项
我怎样才能解决这个问题
代码如下:
mBottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_baby:
case R.id.navigation_you:
case R.id.navigation_partner: {
updateUI();
return true;
}
default:
return false;
}
}
});
更新方法:
mBottomNavigationView.getSelectedItemId()的值参见前面的选择
private void updateUI() {
mBagListAdapter.setList(mPregnancyLab.getBagList(mBottomNavigationView.getSelectedItemId()));
mBagListAdapter.notifyDataSetChanged();
}
试试这个
mBottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
mBagListAdapter.setList(mPregnancyLab.getBagList(item.getItemId()));
BagListAdapter.notifyDataSetChanged();
}
});
希望这有帮助。请随时要求澄清……ID将如何更改?请在问题中添加更多细节…@毗瑟奴请现在查看