我使用ViewPager
在2 Fragments
之间进行更改。
对于这两个片段,请考虑以下代码:
onCreateView{
setHasOptionsMenu(true);
...
...
mToolbar = (Toolbar) v.findViewById(R.id.FragmentAnswerToolbar);
getActivity().setSupportActionBar(mToolbar);
}
和
public final void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
Log.d("onCreateOptionsMenu", "is called");
menu.clear();
inflater.inflate(R.menu.menu_qa, menu);
}
现在的问题是,当我从FRAGMENT_A切换到FRAGMENT_B时,菜单不会膨胀。请注意,它们都具有正确的R.id.XYZ
menu.xml:
<menu 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"
tools:context="dbis.uni.learnapp.QAActivity">
<item
android:id="@+id/camera"
android:icon="@drawable/camera"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="always"/>
</menu>
要点: Toolbarmenu仅在FRAGMENT_A中充气,而不在FRAGMENT_B
中充气