Мне удалось открыть меню, подключив событие onAttachedToWindow (). Это будет срабатывать автоматически после создания представления. Я использовал следующий код:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
try {
((Activity) this).openOptionsMenu();
} catch (Exception ex) {
Log.e("ERR", "Error: " + ex.getMessage());
}
}
Когда я попытался открыть меню параметров в событиях «onCreate (...)» или «onPostCreate (...)», я получил следующую ошибку: «Невозможно добавить окно - нулевой токен недействителен ; ваша деятельность работает? " Похоже, что меню параметров недоступно до тех пор, пока представление не будет нарисовано и зарегистрировано в окне.
Кроме того, может быть предпочтительнее открыть меню параметров, подключив «onTouchEvent (событие Motion)», как в:
@Override
public boolean onTouchEvent(MotionEvent event) {
((Activity) this).openOptionsMenu();
return super.onTouchEvent(event);
}
Таким образом, меню параметров отображается, если пользователь коснется или проведет пальцем по активности. Чтобы завершить обсуждение, меню параметров можно закрыть с помощью следующей команды:
((Activity) mContext) .closeOptionsMenu ();
Таким образом, меню параметров можно «переключать» с помощью следующих команд:
((Activity) this).openOptionsMenu();
((Activity) this).closeOptionsMenu();
Ну, я надеюсь, это поможет.