java.lang.NoSuchMethodError beim Einsatz getFragmentManager() mit actionbarsherlock library
Mein eigenes Projekt verwendet:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="13" />
Umzusetzen action bar, die ich verwendet ActionBarSherlock Bibliothek. Ich importierte die sherlock Bibliothek in mein Eclipse ein vorhandenes Projekt. Für sherlock, die Zielplattform ist Android v3.2 API 13 .
Dann habe ich noch sherlock als library-Projekt zu meinem eigenen Projekt. Ich sah, es ist von Bibliotheksprojekten unter meinem eigenen Projekt. Alles scheint gut geht.
Mein eigenes Projekt Haupt-Aktivität sieht wie folgt aus:
package com.test;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MyActivity extends FragmentActivity {
/**
* hosts a Fragment, and the Fragment will inflate a layout to show
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fragMgr;
FragmentTransaction fragTrans;
fragMgr = getFragmentManager(); //error complains here
FirstFragment list = new FirstFragment();
fragTrans = fragMgr.beginTransaction();
fragTrans.add(android.R.id.content, list).commit();
}
}
Aber, wenn ich mit meiner Bewerbung, bekam ich folgende Fehler:
java.lang.NoSuchMethodError: com.test.MyActivity.getFragmentManager
Warum getFragment
kann nicht aufgelöst werden, da eine Methode??? Benutzt habe ich sherlock als Projekt-Bibliothek für ein eigenes Projekt...
InformationsquelleAutor Leem.fin | 2012-02-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode
getFragmentManager()
ist nur verfügbar, seit 3.0, in derActivity
Klasse. Da Ihr Ziel-sdk ist 13, undFragmentActivity
erstreckt sich vonActivity
gibt es keine Probleme bei der Kompilierung.Aber beim ausführen von code auf einem niedrigeren sdk (7 zum Beispiel) gibt es keine solche Methode, dass
Activity
Klasse. Also die Lösung lautet :die Arbeit wird auf alle
Android
Versionen.Müssen Sie
und stellen Sie sicher, das Sie importieren: