Wie kann ich das umsetzen FragmentManager und FragmentTransaction zu ersetzen, die nur ein einziges fragment?

Ich habe eine Aktivität mit 3 Fragmente; header; a body; eine Fußzeile (gleichen Punkt, wie in HTML). Die bodyfragment enthält drei Schaltflächen, mit denen jeder zu ersetzen ist, die mittlere fragment (Körper; selbst) mit einem anderen, aber ich kann nicht herausfinden, wie die Arbeit der FragmentManager und FragmentTransition hier. Ich kann nicht scheinen zu finden, die Kohärenz in anderen Völkern Fragen auf, die hier mit Bezug auf die Art und Weise, andere setzen Ihre Fragmente. Es scheint, jeder hat seine eigenen Methoden, oder einfach nicht den vollständigen code in Ihre threads.

MainActivity.java

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.test_frag);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

TestFragment.java

public class TestFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    return inflater.inflate(R.layout.test_frag, container, false);
}

}

BodyFragment.java

public class BodyFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    return inflater.inflate(R.layout.body_frag, container, false);
}

}

Fragment in XML -

<fragment
    android:id="@+id/bodyfragment"
    android:name="com.example.test.BodyFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    tools:layout="@layout/body_frag" />

BodyFragment layout in XML (Schaltfläche x3)

    <Button
    android:id="@+id/bsettings"
    android:layout_width="130dp"
    android:layout_height="40dp"
    android:layout_alignBaseline="@+id/bgames"
    android:layout_alignBottom="@+id/bgames"
    android:layout_toRightOf="@+id/bgames"
    android:text="SETTINGS" />
Es ist ein ziemlich straight-forward Implementierung Beispiel auf die offizielle Dokumentation, und warum ist das nicht für Sie arbeiten ? developer.android.com/guide/components/fragments.html
Das ist das tutorial ich Folge, eigentlich. Das fragment Beispiele gibt, unterscheiden sich von der Art, wie Sie lehren, wie man FragmentManager und FragmentTransactions. Ich weiß nicht, ob ich sein sollte ruft FragmentManager von der Aktivität oder der BodyFragment. Ich weiß auch nicht, ob ich sollte den Aufruf der Transaktion nur auf dem bodyfragment oder die Aktivität selbst. Die Dokumentation ist sehr schwer zu Lesen.
Sie sollten diesen code in die Tätigkeit, zum Beispiel in onCreate. In der Transaktion.replace(R. id.fragment_container, newFragment), fragment_container ist die id des Containers für das fragment in Ihrer Tätigkeit layout, newFragment ist das Teilstück, das Sie möchten, setzen Sie in den container.

InformationsquelleAutor Carl | 2013-12-05

Schreibe einen Kommentar