Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Панель инструментов Android не обновляется, пока не коснется значка меню переполнения

Автор вопроса: Halcyon android devОтветов: 1

У меня был MainActivity, который расширяет android.support.v7.app.ActionBarActivity и панель инструментов с поиском, значками фильтров и другими параметрами в меню переполнения, когда я загружаю определенный фрагмент, я хочу, чтобы значок поиска исчезал и показывал значок фильтра. Как и в моем коде ниже, я пытаюсь скрыть значок поиска и показать значок фильтра, но панель инструментов обновляется только тогда, когда я нажимаю значок меню переполнения. Я запутался, где я ошибаюсь ... любые предложения приветствуются, заранее спасибо.

MY_FRAGMENT.Java

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    position = getArguments().getInt(ARG_POSITION);
    return rootView;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    Log.v("oncreate", "");
}

@Override
public void onPrepareOptionsMenu(Menu menu) {
    Log.v("onPrepareOptionsMenu", "");
    AppCompatActivity activity = (AppCompatActivity) getActivity();
    menu.findItem(R.id.action_filter).setVisible(true).setEnabled(true);
    menu.findItem(R.id.action_notification).setVisible(false).setEnabled(false);
    activity.invalidateOptionsMenu();
    menu.findItem(R.id.action_notifications).setVisible(false).setEnabled(false);
    return;
}

androidtoolbar

Ответы

Ответ 1 · Rajesh

Изменять

activity.invalidateOptionsMenu();
activity.onCreateOptionsMenu(menu);

to

activity.onCreateOptionsMenu(menu);
activity.invalidateOptionsMenu();

Я надеюсь, что это помогает!

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы