FragmentActivity Action Options De La Barre De Menu
Je suis en train d'ajouter des boutons ActionBar pour un FragmentActivity et je ne peux pas comprendre ce que je fais mal.
Lors de l'exécution de l'application tout ce que je vois est la valeur par défaut sur le bouton menu de l'ActionBar et pas mon bouton..
La FragmentActivity :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.animalsmenu,menu);
return true;
}
Le fichier xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/dogs"
android:title="Dogs"
android:orderInCategory="1"
app:showAsAction="always">
</item>
Jetez un oeil à ma réponse ici: stackoverflow.com/questions/25700575/...
La question (en fonction de l'OP) montre un code à partir d'un
La question (en fonction de l'OP) montre un code à partir d'un
FragmentActivity
, pas un Fragment
.OriginalL'auteur james | 2014-09-06
Vous devez vous connecter pour publier un commentaire.
La
FragmentActivity
classe étend (dérive) leActivity
classe. La documentation pour laActivity
onCreateOptionsMenu(Menu menu) méthode est la suivante...En d'autres termes, modifiez votre code pour...
Cela permettra de gonfler votre élément de menu dans le
Menu
transmis à votre méthode de remplacement et ensuite, vous passez à la société mère (super
) version de la méthode.Êtes-vous directement à l'extension de
FragmentActivity
, ou vous avez une classe de base de votre propre qui s'étendFragmentActivity
et puis vous êtes à étendre?Je suis directement l'extension de FragmentActivity
Vous construisez à l'aide de la "native" ou dans les bibliothèques, bibliothèques de prise en charge, par exemple, android.de soutien.v4.app.FragmentActivity?
Cette classe est l'aide de l'android.de soutien.v4.app.FragmentActivity , Désolé j'ai oublié de le mentionner.
OriginalL'auteur Squonk
Faire de votre
MainActivity
étendreActionBarActivity
au lieu deFragmentActivity
.ActionBarActivity
elle-même s'étendFragmentActivity
de sorte que vous devriez être bien.OriginalL'auteur mahbub_siddique
De la Fragment De Documents
Par conséquent, vous devriez appeler
setHasOptionsMenu(true)
dans votreonCreate()
.Ou pour assurer la compatibilité ascendante, il est préférable de placer cet appel le plus tard possible à la fin de
onCreate()
ou même plus tard dansonActivityCreated()
.Essayez d'utiliser ce soit dansonCreate()
ouonActivityCreated()
.Espère que cette aide.
OriginalL'auteur Sash_KP