java.lang.NoSuchMethodError, wenn getFragmentManager () mit actionbarsherlock library verwendet wird

8

Mein eigenes Projekt verwendet:

%Vor%

Um Aktionsleiste zu implementieren, verwende ich die ActionBarSherlock -Bibliothek. Ich habe die Bibliothek sherlock in mein Eclipse-Projekt als bestehendes Projekt importiert. Für sherlock ist die Zielplattform Android v3.2 API 13 .

Dann habe ich sherlock als Bibliotheksprojekt zu meinem eigenen Projekt hinzugefügt. Ich habe gesehen, dass es Bibliotheksprojekte unter meinem eigenen Projekt gibt. Alles scheint gut zu gehen.

Meine eigene Hauptaktivität des Projekts sieht folgendermaßen aus:

%Vor%

Aber wenn ich meine Anwendung starte, habe ich den folgenden Fehler :

%Vor%

Warum getFragment kann nicht als Methode gelöst werden ?? Ich habe Sherlock als Projektbibliothek für mein eigenes Projekt verwendet ...

    
Leem.fin 08.02.2012, 15:35
quelle

2 Antworten

31

Die Methode getFragmentManager() steht erst seit 3.0 in der Klasse Activity zur Verfügung. Da Ihr Ziel sdk 13 ist und FragmentActivity von Activity ausgeht, gibt es keine Probleme beim Kompilieren.

Aber wenn Sie Ihren Code auf einem niedrigeren sdk (7 zum Beispiel) ausführen, gibt es keine solche Methode in dieser Activity -Klasse. Also die Lösung ist zu verwenden:

%Vor%

was für alle Android Versionen funktioniert.

    
Ovidiu Latcu 08.02.2012 15:42
quelle
7

Sie müssen

verwenden
  

FragmentTransaction-Transaktion =   getSupportFragmentManager (). beginTransaction ();

und stellen Sie sicher, dass Sie importieren:

%Vor%     
Graham Smith 08.02.2012 15:41
quelle

Tags und Links