У меня есть активность фрагмента Шерлока, в которой есть 3 фрагмента.
Фрагмент A, Фрагмент B, Фрагмент C — это три фрагмента. Я хочу показать готовое меню опций только во фрагменте B.
И действие начинается с фрагмента A. Когда выбран фрагмент B, добавляется кнопка «Готово».
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if(!menusInflated){
inflater.inflate(R.menu.security, menu);
menusInflated=true;
}
super.onCreateOptionsMenu(menu, inflater);
}
Когда я снова запускаю фрагмент A, я хочу выбрать меню DONE (которое было установлено во фрагменте B), для этого я делаю так
setHasOptionsMenu(false);
MenuItem item = (MenuItem) menu.findItem(R.id.done_item);
item.setVisible(false);
Но это совсем не скрывает, а также выдает исключение NullPointerException, когда действие сначала запускается с фрагментом A.
Пожалуйста, дайте мне знать, в чем проблема.