Android – openOptionsMenu não funciona no onCreate

Existe alguma outra maneira de chamair openOptionsMenu após a atividade ser exibida sem usair algo como isto:

 novo manipulador (). postDelayed (novo Runnable () {
             public void run () {
                 openOptionsMenu ();
             }
         }, 1000); 

Referência: http://groups.google.com/group/android-beginners/browse_frm/thread/b10a8ea840c07725/1ce48bb147a3ed1a?#1ce48bb147a3ed1a

EDITAR: Agradeceria um exemplo como este:

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

     // Agora eu acho que algo como Window.Callback.onAttachedToWindow (...) deve ser feito?
 }

2 Solutions collect form web for “Android – openOptionsMenu não funciona no onCreate”

Eu olhei novamente paira Activity , e ele teve o método onAttachedToWindow , herdado do Window.Callback , desde o nível API 5. Se você estiview usando esse nível, então você simplesmente deve replace esse método em sua Activity .

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

Se você estiview usando uma viewsão anterior a 5, então você deve replace o método onAttachedToWindow em Exibir . Isso é muito fácil se sua View for criada no código. Se for criado no XMl, não é muito mais difícil – você deve encontrair as instruções aqui úteis.

Minha solução

 //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Oviewride public void run() { runOnUiThread(new Runnable() { @Oviewride public void run() { openOptionsMenu(); } }); } }, 1000); * / //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Oviewride public void run() { runOnUiThread(new Runnable() { @Oviewride public void run() { openOptionsMenu(); } }); } }, 1000); } //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Oviewride public void run() { runOnUiThread(new Runnable() { @Oviewride public void run() { openOptionsMenu(); } }); } }, 1000); }); //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Oviewride public void run() { runOnUiThread(new Runnable() { @Oviewride public void run() { openOptionsMenu(); } }); } }, 1000); } //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Oviewride public void run() { runOnUiThread(new Runnable() { @Oviewride public void run() { openOptionsMenu(); } }); } }, 1000); 
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.