首页 > 解决方案 > 更改底部导航的图标位置

问题描述

通过按钮操作,我从另一个片段中更改了我选择的片段。但是,当我更改片段时,底部导航图标不会更改。选定的图标仍然显示第一个片段的图标。

ContactFragment contactFragment = new ContactFragment();
                                     FragmentManager manager = getFragmentManager();
                                     manager.beginTransaction()
                                             .replace(R.id.fragment_container,contactFragment,contactFragment.getTag())
                                             .commit();

显示的图像是联系人片段,但图标保留在设置部分。如何更改图标?请帮忙。

标签: androidandroid-studioandroid-fragments

解决方案


你需要在onclick上重置图标,然后在switch case上你只需要设置你需要改变的那个,所以只有选中的时候图标才会改变。

    Menu menu = bottomNavigationView.getMenu();
menu.findItem(R.id.action_favorites).setIcon(favDrawable);

switch (item.getItemId()) {
                case R.id.setting:
                     item.setIcon(favDrawableSelected);
                case R.id.contact:
                case R.id.dupicated:
            }

推荐阅读