BottomNavigation 不适用于带有组件导航的片段

BottomNavigation not work in fragment with component navigation

底部导航在我单击时不会更改片段,它在 activity 上有效,但当我在片段中使用它时,它不会。

我的片段

public class MessageFragment extends Fragment {

    private FragmentMessageBinding binding;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        binding = FragmentMessageBinding.inflate(inflater,container,false);


        NavController navController = NavHostFragment.findNavController(MessageFragment.this);
        NavigationUI.setupWithNavController(binding.answerNavView22, navController);


        return binding.getRoot();
    }

在片段xml中

<RelativeLayout
        android:backgroundTint="#E3E1E1"
        android:layout_marginTop="2dp"
        android:layout_marginHorizontal="2dp"
        android:visibility="visible"
        android:id="@+id/layout_answer"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:animateLayoutChanges="true"
        android:background="@drawable/corner_top"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar2">

        <androidx.fragment.app.FragmentContainerView
            android:layout_below="@id/answer_nav_view22"
            android:id="@+id/nav_host_fragment"
            android:name="androidx.navigation.fragment.NavHostFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:defaultNavHost="true"
            app:navGraph="@navigation/nav_answer" />

        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:background="#E3E1E1"
            android:id="@+id/answer_nav_view22"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:menu="@menu/menu_answer_nav" />
    </RelativeLayout>

我检查了 id 菜单,它与 nav_answer 中的 id 相同。我不知道为什么,请帮助我!

祝大家有个愉快的一天!

我明白你在做什么,它将是片段中的一个片段(主机将是父片段,底部导航中的每个选项卡将是子片段)。导航组件不支持这种形式