Android - openOptionsMenu не работает в onCreate

Есть ли любой другой способ назвать openOptionsMenu после того, как действие будет отображено, не используя что-то вроде этого:

new Handler().postDelayed(new Runnable() {
            public void run() {
                openOptionsMenu();
            }
        }, 1000); 

Ссылка: http://groups.google.com/group/android-beginners/browse_frm/thread/b10a8ea840c07725/1ce48bb147a3ed1a?#1ce48bb147a3ed1a

Править: Я ценил бы пример как это:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Now I guess something like Window.Callback.onAttachedToWindow(...) should be done?
}

10
задан nikib3ro 18 May 2010 в 15:38
поделиться

1 ответ

Я снова посмотрел на Activity, и у него есть метод onAttachedToWindow, унаследованный от Window.Callback, начиная с уровня API 5. Если вы используете этот уровень, то вы просто должны переопределить этот метод в вашей Activity.

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    openOptionsMenu();
}

Если вы используете версию до 5, то вам нужно переопределить метод onAttachedToWindow в View. Это очень просто, если ваш View создан в коде. Если он создан в XMl, то это не намного сложнее - вам должны помочь инструкции здесь.

21
ответ дан 3 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: