Je suis en train d'utiliser le getActionBar(); méthode et je reçois cette erreur: android.de soutien.v7.app.ActionBar trouvé android.app.ActionBar . Comment puis-je corriger cela?
Cette erreur se produit parce que vous êtes la création d'un objet et de le transmettre à une autre classe que la variable de référence. Parce que getActionManager donne à l'objet de android.app.ActionBar mais vous essayez d'affecter android.app.ActionBar objet de classe à android.support.v7.app.ActionBar.
Mais ces deux classes de fournir les mêmes fonctionnalités. android.support.v7.app.ActionBar Classe est utilisée lors de nos uses-sdk min version est moins l'api 11. pour obtenir l'objet de ActionBar ci-dessous api 11 nous avons besoin de android.support.v7.app.ActionBar objet de classe.
Pour obtenir de la barre d'Action, vous devrez suivre une des deux approches.
import android.support.v7.app.ActionBar et l'utilisation getSupportActionBar() méthode od activité.
aller à AndroidManifest.xml fichier et modifier <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />
et l'importation android.app.ActionBar et l'utilisation getActionBar()
Assurez-vous que vous avez de l'api minimum de niveau dans votre fichier manifeste est au-dessus de 11. Parce que le paquet android.support.v7.app.ActionBar est uniquement pris en charge dans l'api de niveau en dessous de 11.
Donc, si vous souhaitez utiliser une ActionBar de import android.app.ActionBar alors vous devez avoir un minimun de l'api de niveau 11 dans votre fichier manifeste. Sinon, vous devrez ajouter le support v4 bibliothèque dans votre projet à l'utilisateur un contrôle actionbar de android.support.v7.app.ActionBar paquet.
Assurez-vous que votre application a la barre de l'application ou de la barre de titre, vous vérifiez en application thème dans le fichier de manifeste ou à votre style.xml
si dans votre style comme ceci:
<stylename="AppTheme"parent="Theme.AppCompat.Light.DarkActionBar"><!-- your style --></style>
Il sera bien lors de l'utilisation ActionBar actionbar = getSupportActionBar();
Mais si votre style comme ceci:
<stylename="AppTheme"parent="Theme.AppCompat.Light.NoActionBar"><!-- your style--></style>
qu'il va jeter null exception lors de l'utilisation ActionBar actionbar = getSupportActionBar();
aussi si elle indique qu'il existe déjà être sûr de le supprimer
C'est déjà mentionné dans une autre réponse. Alors que cet extrait de code, peut-être de résoudre la question, y compris une explication aide vraiment à améliorer la qualité de votre post. Rappelez-vous que vous répondez à la question pour les lecteurs dans l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre code suggestion.
Cette erreur se produit parce que vous êtes la création d'un objet et de le transmettre à une autre classe que la variable de référence. Parce que
getActionManager
donne à l'objet deandroid.app.ActionBar
mais vous essayez d'affecterandroid.app.ActionBar
objet de classe àandroid.support.v7.app.ActionBar
.Mais ces deux classes de fournir les mêmes fonctionnalités.
android.support.v7.app.ActionBar
Classe est utilisée lors de nos uses-sdk min version est moins l'api 11. pour obtenir l'objet de ActionBar ci-dessous api 11 nous avons besoin deandroid.support.v7.app.ActionBar
objet de classe.Pour obtenir de la barre d'Action, vous devrez suivre une des deux approches.
import android.support.v7.app.ActionBar
et l'utilisationgetSupportActionBar()
méthode od activité.aller à AndroidManifest.xml fichier et modifier
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />
et l'importation
android.app.ActionBar
et l'utilisationgetActionBar()
OriginalL'auteur Umesh Kumar Saraswat
Si le soutien de l'API des niveaux inférieurs à 11 et vous aurez à ajouter le support v4 bibliothèque dans votre projet pour utilisé une actionbar.
Si prenant uniquement en charge des API de niveau 11 et plus:
Pour plus d'informations, accédez à l' Officiel Docs
OriginalL'auteur M D
Assurez-vous que vous avez de l'api minimum de niveau dans votre fichier manifeste est au-dessus de 11. Parce que le paquet
android.support.v7.app.ActionBar
est uniquement pris en charge dans l'api de niveau en dessous de 11.Donc, si vous souhaitez utiliser une ActionBar de
import android.app.ActionBar
alors vous devez avoir un minimun de l'api de niveau 11 dans votre fichier manifeste. Sinon, vous devrez ajouter le support v4 bibliothèque dans votre projet à l'utilisateur un contrôle actionbar deandroid.support.v7.app.ActionBar
paquet.OriginalL'auteur GrIsHu
Assurez-vous que votre application a la barre de l'application ou de la barre de titre, vous vérifiez en application thème dans le fichier de manifeste ou à votre style.xml
si dans votre style comme ceci:
Il sera bien lors de l'utilisation
ActionBar actionbar = getSupportActionBar();
Mais si votre style comme ceci:
qu'il va jeter null exception lors de l'utilisation
ActionBar actionbar = getSupportActionBar();
Assurez-vous d'utiliser
import android.support.v7.app.ActionBar
OriginalL'auteur Mang Jojot
Si l'exécution de l'api 11 et plus
aussi si elle indique qu'il existe déjà être sûr de le supprimer
Alors que cet extrait de code, peut-être de résoudre la question, y compris une explication aide vraiment à améliorer la qualité de votre post. Rappelez-vous que vous répondez à la question pour les lecteurs dans l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre code suggestion.
OriginalL'auteur anonymous JAR