У меня есть основная деятельность вместе с 3 фрагментами. Я использую навигационный ящик для выбора этих фрагментов. Я хочу отредактировать параметры меню переполнения на панели действий на основе отображаемого фрагмента. Например: если фрагмент A отображается сейчас, я хотел бы иметь параметры «Редактировать», «Выйти» и «Настройки» под кнопкой переполнения. Если сейчас выбран фрагмент B, у меня должны быть только настройки.
Я попытался переопределить onCreateOptionsMenu() в основном действии с другим xml и во фрагменте с другим, но это не помогает, так как отображаются только параметры в основном действии.
В основной деятельности:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
//return true;
return super.onCreateOptionsMenu(menu);
}
Во фрагменте А:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getActivity().getMenuInflater().inflate(R.menu.menu1, menu);
//return true;
return true;
}
main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_signout"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Sign Out"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
меню1.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_edit"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Edit Profile"/>
<item
android:id="@+id/action_signout"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Sign Out"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>