Android-код для получения меню опций программно? - PullRequest
1 голос
/ 19 апреля 2011

Android-код для программного получения меню опций в Android после отображения действия ??

Возможно ли это? Заранее спасибо !!

1 Ответ

0 голосов
/ 30 декабря 2011

Мне удалось открыть меню, подключив событие 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(); 

Ну, я надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...