Есть ли любой другой способ назвать openOptionsMenu после того, как действие будет отображено, не используя что-то вроде этого:
new Handler().postDelayed(new Runnable() { public void run() { openOptionsMenu(); } }, 1000);
Править: Я ценил бы пример как это:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Now I guess something like Window.Callback.onAttachedToWindow(...) should be done? }
Я снова посмотрел на Activity
, и у него есть метод onAttachedToWindow, унаследованный от Window.Callback, начиная с уровня API 5. Если вы используете этот уровень, то вы просто должны переопределить этот метод в вашей Activity
.
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
openOptionsMenu();
}
Если вы используете версию до 5, то вам нужно переопределить метод onAttachedToWindow в View. Это очень просто, если ваш View
создан в коде. Если он создан в XMl, то это не намного сложнее - вам должны помочь инструкции здесь.