Android – openOptionsMenu ne fonctionne pas sur onCreate

Existe-t-il une autre façon d'appeler openOptionsMenu après l'affichage de l'activité sans utiliser quelque chose comme ça:

 Nouveau gestionnaire (). PostDelayed (nouveau Runnable () {
             Public void run () {
                 OpenOptionsMenu ();
             }
         }, 1000); 

Référence: http://groups.google.com/group/android-beginners/browse_frm/thread/b10a8ea840c07725/1ce48bb147a3ed1a?#1ce48bb147a3ed1a

  • Est-ce que le collectionneur d'ordures d'Android met en pause d'autres applications pendant l'exécution?
  • Maintenir le mode "Lights-out" (View.setSystemUiVisibility) pendant les redémarrages
  • Faites glisser et déposez dans GridView dans Android
  • Existe-t-il un cadre unique pour écrire iOS, Android (et même Windows Phone)?
  • Comparaison des performances et de l'utilisation des bibliothèques Android JSON
  • Android Zxing change l'orientation vers le portrait
  • EDIT: J'apprécierais un exemple comme celui-ci:

     Public void onCreate (Bundle savedInstanceState) {
         Super.onCreate (savedInstanceState);
    
         // Maintenant, je suppose que quelque chose comme Window.Callback.onAttachedToWindow (...) devrait être fait?
     }
    

    2 Solutions collect form web for “Android – openOptionsMenu ne fonctionne pas sur onCreate”

    J'ai regardé à nouveau l' Activity , et elle a eu la méthode onAttachedToWindow , héritée de Window.Callback , depuis le niveau API 5. Si vous utilisez ce niveau, il vous suffit d'annuler cette méthode dans votre Activity .

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

    Si vous utilisez une version antérieure à 5, vous devez remplacer la méthode onAttachedToWindow dans View à la place. C'est très simple si votre View est créée dans le code. Si elle est créée dans XMl, ce n'est pas beaucoup plus difficile – vous devriez trouver les instructions ici utiles.

    Ma solution

     //Open menu manually from code Timer timing = new Timer(); timing.schedule(new TimerTask() { /** * {@inheritDoc} */ @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { openOptionsMenu(); } }); } }, 1000); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.