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将如何更改?请在问题中添加更多细节…@毗瑟奴请现在查看