У меня возникли проблемы, когда я пытаюсь удалить значок настроек и добавить еще один новый значок.Удалить action_settings на ActionBar
То, что я пытался это (никто не разработан):
1.-Удалить элемент в main.xml
2-Изменение OnPrepareOprionMenu
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if Navigation drawer is opened, hide the action items
boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
menu.findItem(R.id.action_home).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}
3.-Change OnOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// title/icon
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.action_home:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
4.-My menu_home.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
</menu>
5.-И я попробовал это, на мой фрагмент (где я хочу показать этот дом значок)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_home,menu);
inflater.inflate(R.menu.main,menu);
menu.findItem(R.id.action_settings).setVisible(false);
}
5.- main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_refresh"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_refresh"/>
<item
android:id="@+id/action_rate"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_rateapp"/>
</menu>
Я знаю, что это не так сложно, но я не понимаю, почему это не исчезает из моего приложения.
Спасибо.
Там меню не является элементом меню 'action_settings' в' R.menu.menu_home'. Это должно быть в «R.menu.main», которое вы также раздуваете, но вы не размещали XML для этого меню. – darnmason
Дело в том, что я создал другое меню, но action_settings находится на R.menu.main (я отредактировал мой пост) ... –
Почему вы используете два разных файла меню? –