2017-08-29 5 views
0

In meiner Anwendung gibt es Recycler Ansicht FragmentRecyceler Auf der Gerätedrehung Replikation

Wenn ich folgende Schritte folgen Sein in Nexus 6 5.1.1 Gerät 1) Veränderung Geräteausrichtung auf Querformat 2 dupliziert wurde) sperren des Geräts 3) Wechselvorrichtung Orientierung Portrait 4) entriegeln Vorrichtung Jetzt für 1 sec Es gibt Replikation von Ansicht

ich habe in setRetainInstance = true Fragment

und

getSupportFragmentManager().beginTransaction() 
.add(getContentFrame(),fragment,fragment.getClass().getName()) 
         .addToBackStack(fragment.getClass().getName()) 
         .commit(); 

für das Hinzufügen Fragment

before rotationafter rotation

+0

Was ist mit Recyclerview Intilization Code? wo steckst du es in das Fragment? –

+0

@Ajay_Reddy onCreateView – Tushar

+0

fügen Sie einfach das Kontrollkästchen ein, um Ihre Aktivität zu erstellen, in die Sie das Fragment einfügen. Fügen Sie das Fragment nur hinzu, wenn savedInstance nicht gleich null ist. –

Antwort

0

Sie benötigen 2 Dinge zu verwenden:

onSaveInstanceState onRestoreInstanceState

das Prüfen documentation

0

Dies passiert normalerweise, wenn Sie das Fragment erneut hinzufügen, obwohl es bereits existiert.

getSupportFragmentManager().beginTransaction().add(getContentFrame(),fragment,fragment.getClass().getName()) 
        .addToBackStack(fragment.getClass().getName()) 
        .commit(); 

Ich vermute, Sie zweimal diesen (einmal zu Beginn und einmal nach der Orientierung ändern) anrufen, so wird Ihr Fragment zweimal hinzugefügt. Je nachdem, wie Sie dies implementiert haben, fügen Sie einfach einen Scheck kurz vor diesem Anruf hinzu. if (getSupportFragmentManager().findFragmentByTag(YourFragment.class.getName()) == null) unsere Check-in-Aktivität onCreate() wenn (savedInstanceState == null).

Verwandte Themen