0

Contexte:Création d'une application avec le niveau de SDK min 8 et le niveau de SDK cible 15?

Je travaille sur retravaillant une application plus ancienne de la mine d'utiliser la barre d'action, mais je veux bien sûr encore frappé un groupe de discussion assez important étant 2.3.3 utilisateurs.

Problème:

Mon application fonctionne très bien sur ma nouvelle Jelly Bean Phone, mais se bloque sur mon téléphone avec GingerBread plus NoSuchMethodException à « getActionBar() ... etc.

Je sais que cela passe parce que le téléphone ne le supporte pas .. mais je ne comprends pas pourquoi parce que j'utilise android-support-v4.jar, et je peux voir les méthodes et le code très bien sans aucune erreur de compilation

Ma recherche:

J'ai lu d'autres messages et ils disent changer votre minSdkVersion à 11 et il devrait fonctionner correctement, mais je veux soutenir pour les anciens périphériques.

J'ai aussi utilisé la bibliothèque de ActionBarSherlock étonnante dans un précédent projet, et n'a pas ce problème ...

Détails:

Dans mon fichier Android SDK Je

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8"/> 

J'utilise Android Studios, donc je l'ai fixé l'objectif de construction du projet d'être 4.2.2 (Je ne sais pas si cela est juste) ..

Mon androïde fichier manifeste a aussi:

android:theme="@style/AppTheme"> 

et j'ai 2 dossiers dans ma résolution dossier - une des valeurs être et les valeurs-V11

valeurs

contient ce dans ses styles fichier:

<resources> 
<style name="AppBaseTheme" parent="@android:style/Theme.NoTitleBar"> 
</style> 
<style name="AppTheme" parent="AppBaseTheme"> 
</style> 
</resources> 

et les valeurs-v11 contient ce fichier dans son style:

<resources> 
<style name="AppTheme" parent="android:Theme.Holo.Light" /> 
<style name="MenuTheme" parent="android:Theme.NoTitleBar" /> 
</resources> 

Répondre

0

changez "getActionBar()" en "getSupportActionBar()" et cela devrait fonctionner. Assurez-vous également que votre activité sous-classe SherlockActivity ou SherlockFragmentActivity.

getActionBar() a été ajouté au niveau 11 de l'API, ActionBarSherlock ajoute la méthode getSupportActionBar() pour une compatibilité ascendante.

Questions connexes