Android-Fragmente auf der unteren API
gut, ich fange an zu verstehen, Android-Fragmente aber das ist immer noch verwirrend für mich. Ich brauche ein wenig Hilfe. So wie es android-Fragmente unterstützt seit API level 11, aber Sie können download "unterstützen.v4" Bibliotheken pack für niedrigere level-APIs. Gut, zuerst habe ich " neues Projekt erstellen, um zu versuchen, die Fragmente auf API-Ebene 15. Dann Tat ich das gleiche mit API level 8 und es funktioniert nicht... ich importierte externe jar und es sieht alle erforderlichen import -, wie es sollte... Was zu sein scheint das problem hier?
Hier ist meine main-Klasse:
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
public class Fragment2Activity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Mein Haupt-layout-XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<fragment
android:name="com.frag.Fragment2.frag"
android:id="@+id/frag"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Mein fragment-Klasse:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class frag extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Inflate the layout for this fragment
View v = inflater.inflate(R.layout.hello_fragment, container, false);
return v;
}
}
Und mein fragment-layout XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:text="THIS IS FRAGMENT"
android:background="@drawable/ic_launcher"
/>
</LinearLayout>
FESTEN
- hast du diese arbeiten? Ich habe das gleiche Problem, was war Ihre Lösung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie sind immer noch mit der
android.view.fragment
Klasse, was es nicht gibt. Sie haben, um Schalter zuandroid.support.v4.app.fragment
auf älteren Geräten.ClassNotFoundException: android.view.fragment
import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;
extends Activity
zuextends FragmentActivity
- und import FragmentActivity Klasse aus unterstützen.v4 pack... immer noch die gleiche...Wenn Sie eine niedrigere API-wegen der minSdkVersion, sollten Sie wissen, dass Sie mit dem neuesten sdk und legen Sie die minSdkVersion auf einen niedrigeren Wert. Sie haben nicht die gleichen zu sein.
Tatsächlich, dieses Problem ist von ADT.
wieder um die "Order and Export" in Java Build Path von
src > gen > Private > andere...
Add Support Library >> android-support-v4.jar
OK, also ich hatte das gleiche Problem, und habe es endlich funktioniert. Zunächst stellen Sie sicher, dass Sie die neueste ADT.
1)Gehen Sie in jede Aktivität, die verwendet Fragmente, und Sie erstrecken sich von
FragmentActivity
stattActivity
2)wenn Sie noch nicht importiert, die Unterstützung der Bibliothek in Ihrem Aufbau, dann mit der rechten Maustaste auf Ihr Projekt->Android-Tools->Add Support Library
3)stellen Sie sicher, dass Sie in Ihrem xml-tags sind
<fragment />
und nicht<android.support.v4.app.fragment />
hoffe, das hilft Sie aus, brauchte eine Weile, um es zu erhalten arbeitend.