NoSuchMethodError erreur pour getActionBar () (API-8)

Lorsque je lance l'application qu'il installe mais qui se bloque, écplise ne dit pas qu'il y ait quelque chose de mal avec mon code. Je pense que c'est un problème avec mon manifeste …

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.secondapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.secondapp" /> </activity> </application> </manifest> 

Vos gars voient-ils des problèmes?

  • Le comportement par défaut du WebView d'Android a-t-il été modifié pour ouvrir en interne tous les liens?
  • Android obtient le PID d'autres applications
  • Comment puis-je déboguer doInBackground code d'un AsyncTask
  • À l'intérieur d'Android Dialog, comment configurer onActivityResult pour startActivityForResult?
  • Android Viewpager tinder comme UI avec l'apparence de la pile de carte 3D
  • Envoyer des données du service à l'activité Android
  •  10-19 10:41:25.589: E/AndroidRuntime(10147): FATAL EXCEPTION: main 10-19 10:41:25.589: E/AndroidRuntime(10147): java.lang.NoSuchMethodError: com.example.secondapp.MainActivity.getActionBar 10-19 10:41:25.589: E/AndroidRuntime(10147): at com.example.secondapp.MainActivity.onCreate(MainActivity.java:15) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.ActivityThread.access$1500(ActivityThread.java:123) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.os.Handler.dispatchMessage(Handler.java:99) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.os.Looper.loop(Looper.java:130) 10-19 10:41:25.589: E/AndroidRuntime(10147): at android.app.ActivityThread.main(ActivityThread.java:3835) 10-19 10:41:25.589: E/AndroidRuntime(10147): at java.lang.reflect.Method.invokeNative(Native Method) 10-19 10:41:25.589: E/AndroidRuntime(10147): at java.lang.reflect.Method.invoke(Method.java:507) 10-19 10:41:25.589: E/AndroidRuntime(10147): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 10-19 10:41:25.589: E/AndroidRuntime(10147): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 10-19 10:41:25.589: E/AndroidRuntime(10147): at dalvik.system.NativeStart.main(Native Method) 

    C'est le logcat, pas sûr si cela aidera

  • Retrofit 2.0 annule un objet d'appel
  • Android Studio ne démarre pas: Erreur fatale initialisant 'com.intellij.util.indexing.FileBasedIndex
  • Liste et noms des gestes de l'écran tactile
  • Comment afficher une ListView à deux colonnes dans Android?
  • Comment puis-je implémenter un BroadcastReceiver dans une classe de service dans Android?
  • Comment puis-je réinitialiser l'API du serveur kik à partir d'un émulateur Android?
  • 6 Solutions collect form web for “NoSuchMethodError erreur pour getActionBar () (API-8)”

    Utilisez getSupportActionBar disponible avec la bibliothèque de support v7 comme décrit ici sur 6. Retrieve the Action Bar section de la 6. Retrieve the Action Bar

    GetSupportActionBar documentation

    Java.lang.NoSuchMethodError: com.example.secondapp.MainActivity.getActionBar

    Sur votre classe MainActivity, vous appelez getActionBar() qui n'est pas disponible pour votre application.

    Votre android:minSdkVersion est défini sur 8 (API-8), qui ne fournit pas getActionBar() (uniquement depuis API-11).

    Vous devez utiliser ActionBarSherlock pour une bonne compatibilité ascendante, ou définir android:minSdkVersion mais tous les périphériques <API-11 ne seront pas ciblés.

    C'est parce que getActionBar est une méthode d'api 11, mais vous pouvez le faire:

     if (android.os.Build.VERSION.SDK_INT >= 11) getActionBar().setDisplayHomeAsUpEnabled(true); //example 

    Et dans la classe d'activité, ajoutez ceci supprimez Lint:

     @SuppressLint("NewApi") 

    J'ai déjà fait face à ce même problème. Je viens de remplacer

     getActionBar() 

    avec

     getSupportActionBar() 

    Vous êtes probablement sur un téléphone inférieur à l'API 11, c'est-à-dire lorsque la méthode getActionBar été introduite. Si vous devez exécuter sur des périphériques inférieurs au niveau 11 de l'API, vous devrez vous protéger contre l'exécution de ces appels qui n'existent que sur les niveaux d'API plus récents, ou utiliser une bibliothèque de compatibilité telle que ActionBarSherlock ou Compatibilité de Barre d'Action . (Voir ce sujet pour une discussion sur les différences entre ces deux.)

    Modifiez l' android:minSdkVersion="8" à android:minSdkVersion="11" et tous les appels API plus récents que vous android:minSdkVersion="11" s'allument comme des erreurs. Cela facilitera la localisation des parties de votre code qui nécessitent une attention particulière.

    Pour les besoins <11, vous devez utiliser:

     getSupportActionBar(); 

    Algo assurez-vous d'utiliser appcompat, ajoutez ceci sur build.gradle, le 19. + devrait être la version cible de votre projet.

     compile 'com.android.support:appcompat-v7:19.+' 

    De plus, si vous utilisez invalidateOptionsMenu () pour le tiroir de navigation, utilisez ceci plutôt:

     supportInvalidateOptionsMenu(); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.