我的 Activity 中有一个 fragment ,该 fragment 有自己的工具栏。像这样:
Image
这是 fragment 的布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.hometsolutions.space.Fragments.ControlFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/Setup_next_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view_setup_next"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toBottomOf="@+id/setup_next_recycler" />
</LinearLayout>
</FrameLayout>
我想在 Setup_next_toolbar 上添加菜单。不在 MainActivity 工具栏上。
我在 fragment 上做了这个:
在 onCreate
上:setHasOptionsMenu(true);
然后
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.Setup_next_menu, menu);
}
但它在 MainActivity 工具栏上添加了菜单。如何在 Setup_next_toolbar
上设置 menuItems?
可能为时已晚,但只是解决了同样的问题并且认为您想知道。您所需要的只是为 Activity 设置工具栏
((MainActivity) getActivity()).setSupportActionBar(toolbar);
setHasOptionsMenu(true);
这将触发 fragment 中的onCreateOptionsMenu
我是一名优秀的程序员,十分优秀!