J'ai un problème étrange. Je crée une application avec targetdk 13.
Dans la méthode onCreate de mon activité principale, j'appelle getActionBar()
pour configurer ma barre d'actions. Cela fonctionne bien lors de l'exécution sur l'émulateur Android 3.2, mais lors de l'utilisation d'Android 3.0 et 3.1, la getActionBar()
méthode renvoie null.
Je trouve cela extrêmement étrange et je ne vois aucune raison pour laquelle ce serait le cas. Est-ce un bogue avec les émulateurs ou dois-je faire quelque chose pour m'assurer que mon application dispose d'une barre d'action?
SOLUTION:
Je pense avoir trouvé une solution à ce problème. Je n'utilisais pas setContentView pour définir une disposition pour l'activité. Au lieu de cela, j'utilisais fragmentTransaction.add(android.R.id.content, mFragment, mTag)
pour ajouter un fragment à l'activité. Cela fonctionnait bien dans la version 3.2, mais dans les versions antérieures en nid d'abeille, la barre d'action n'est apparemment pas définie si vous n'utilisez pas setContentView dans la onCreate()
méthode. Je l'ai donc corrigé en utilisant la setContentView()
méthode de ma onCreate()
méthode et en lui fournissant simplement une disposition contenant un FrameLayout vide. Je peux toujours utiliser la fragmentTransaction.add(android.R.id.content, mFragment, mTag)
méthode de la même manière qu'avant.
Ce n'est pas la meilleure solution, mais cela fonctionne.