findFragmentById() und findFragmentByTag()

Erstellte ich ein Fragment, um meine recycler anzeigen. also habe ich die Methode findFragmentById() zu finden, meine xml-Datei. Das problem ist, jedes mal, wenn ich drehte die Leinwand, er schuf eine mehr recycler anzeigen stapeln übereinander.
hier ist mein code:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListFragment savedFragment = (ListFragment) getSupportFragmentManager().findFragmentById(R.id.list_recyclerview);

    if(savedFragment == null)
    {
        ListFragment fragment  = new ListFragment();
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.place_holder,fragment);
        fragmentTransaction.commit();

    }
}

Aber wenn ich die Methode findFragmentByTag () es nicht passiert ist.

Kann jemand mir erklären was der Unterschied zwischen diesen 2 Methoden?

Sie sind durch das hinzufügen Ihres fragment in die Ansicht mit der id place_holder, so dass Sie Aussehen sollte es mit getSupportFragmentManager().findFragmentById(R.id.place_holder);. Diese Diskrepanz erklärt, warum findFragmentById ist nie zu finden Ihr bestehendes fragment.
es ist mein großer Fehler. ich danke Ihnen so sehr für Ihre Hilfe.

InformationsquelleAutor Luan Si Ho | 2017-04-20

Schreibe einen Kommentar