Fragment zeigt nicht nach dem aufblasen [Behoben, aber...]

Ich versuche zu schaffen, ein Musik-player sichtbar sein werden alle meine Aktivitäten. Um dies zu tun, werde ich eine Fragment wie einige von Euch mir geraten, früher.

Da ich keine Erfahrung mit Fragments auch immer, ich beschlossen, ein fragment in einem "Füllstoff" Aktivität ersten.
Ich erstellte ein einfaches fragment, enthält nur eine Schaltfläche, und Sie text ein, und versuchen Sie, sich zu füllen, dass in meinem Füller Aktivität.

Jedoch nach dem aufblasen dieses fragment nicht angezeigt. Eine Nachricht wird ausgedruckt, um LogCat sagt mir, dass das fragment wurde aufblasen.

Ich bin mir ziemlich sicher, dass ich ' m fehlt etwas, aber da habe ich keine Erfahrung damit und ich konnte Sie nicht finden, ein tutorial, das ganz erklärt, wie dies zu tun, ich weiß nicht, was es ist, das fehlt mir.

Musik-player-Fragment

public class AppMusicPlayer extends Fragment{


     @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            //Inflate the layout for this fragment
         System.out.println("fragment added");
            return inflater.inflate(R.layout.musicplayer_main, container, false);
        }


}

Musik-Player-layout

<?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="wrap_content"
    android:orientation="vertical" >


    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is the fragment you're looking for" />

</LinearLayout>

Füller Aktivität

public class Filler extends FragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.filler);

        Button b = (Button) findViewById(R.id.terug);
        b.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }
        });

    }

}

Füller layout

<?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" >
<!-- Title bar -->
    <RelativeLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:background="@drawable/title_bar" >

        <TextView
            android:id="@+id/fillertitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="Work In Progress"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textStyle="bold" >
        </TextView>

        <Button
            android:id="@+id/terug"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_centerVertical="true"
            android:background="@drawable/button_back"
            android:text="Back"
            android:textColor="#FFFFFFFF"
            android:textStyle="bold" >
        </Button>
    </RelativeLayout>
<!-- End of title bar -->
    <TextView
        android:id="@+id/wip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="This section of the app has not been made yet. Work in progress." >
    </TextView>

    <fragment
        android:id="@+id/musicPlayerFragment"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:name="com.mobowski.app.player.AppMusicPlayer" />

</LinearLayout>

Offensichtlich mache ich etwas falsch, aber was?

Hinweis: ich bin mit Android 2.3 mit der Kompatibilitäts-Bibliothek.

Jede Hilfe ist willkommen


Das problem wurde behoben mit Hilfe von Yashwanth Kumar und blessenm. Man gab eine XML-Lösung, die anderen eine programmatische Lösung. Nun, ich Frage mich nur, welche Lösung ist am begehrtesten. Gibt es irgendwelche Zugeständnisse gemacht werden, mit einer der beiden Lösungen, oder macht es alles einkochen bis die Programmierer die bevorzugte Lösung?

Wenn Sie nur eine bestimmte Fragment und nie vor zu wechseln, ich würde sagen, dass das xml-Weise vorzuziehen wäre. Wenn Sie beabsichtigen, Sie zu tauschen, um Fragments wenn die app ausgeführt wird - um die Fragment programaticly kann wünschenswert sein, um die Ablaufsteuerung (z.B. wissen Sie, was Fragment angezeigt wird, und welches zu vertauschen mit).
Okay, ich bleibe bei XML dann da (zumindest für den Moment) der Musik-player wird nur Fragment. Danke für die Antwort!

InformationsquelleAutor Sander van't Veer | 2011-12-01

Schreibe einen Kommentar