Android 如何在单击按钮时更改底部导航项的颜色

Android how to change bottom navigation item color when button is clicked

bookAppoinmentBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(final View view) {
        MyapptsFragment myaaptsFragment = new MyapptsFragment();
        AppCompatActivity activity = (AppCompatActivity) view.getContext();
        activity.getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.frameLayout,myaaptsFragment)
            .addToBackStack(null)
            .commit();
    }
});

这里我在按钮为 clciked.I 时更改片段 clciked.I 想要在单击按钮时更改该片段的框架和底部导航项颜色。

您可以使用bottomNavigationView.setSelectedItemId()

Set the selected menu item ID. This behaves the same as tapping on an item.

示例代码

    bookAppoinmentBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            MyapptsFragment myaaptsFragment = new MyapptsFragment();
            AppCompatActivity activity = (AppCompatActivity) view.getContext();
            activity.getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, myaaptsFragment).addToBackStack(null).commit();
           ((MyActivity)getActivity()).changeMenu(R.id.action_settings);

        }
    });

编辑

像这样在 activity 中创建一个方法

  public void changeMenu(int menuId){
        bottomNavigationView.setSelectedItemId(menuId);
    }

比在 setOnClickListener 中这样调用

myImageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                ((MyActivity)getActivity()).changeMenu(R.id.action_settings);

            }
        });