Kurzversion:NestedScrolling in einem Viewpager in einer BottomSheetDialog
Wie stelle ich die NestedScrollingChild
ein NestedScrollingParent
mit mehrere Anzahl solchen Kind.
Lange Version
implementiert ich ein BottomSheetDialogFragment
, dessen Layout besteht aus einem ViewPager
, und der Adapter dieses viewpager enthält ein RecyclerView
.
Nun ist die Frage, da ein NestedScrollingParent
, die in dieser Zeit der Koordinator Layout der bottomsheet nur ein direkteNestedScrollingChild
unterstützt, nur das erste Fragment des Adapters kann Nest gescrollt werden.
Was ich meine ist, wenn setAdapter
auf den Viewpager aufgerufen wird, unterstützt das erste Element geschachteltes Scrollen. Aber nachdem ich die Seite gewechselt habe, scrollt die neue Seite nicht mehr. Wenn ich dann zur vorherigen Seite zurückkehre, unterstützt es immer noch das Scrollen.
Außerdem bemerkte ich, dass, wenn das Fragment oder die Seite, die scrollen kann, zerstört wird, die nachfolgende Seite jetzt scrollen kann, was bedeutet, dass die letzte Seite das untergeordnete Blatt des unteren Blattes wird. Das Problem ist, dass die Seite, die jetzt die Fähigkeit zum Scrollen bekommen hat, nicht das aktuelle Element ist, sondern ein vorhergehendes (mein Adapter muss 3 Fragmente enthalten).
Zusammenfassung:
Nach setAdapter
- Fragment 0 blättern
- dann nach Seite Ändern 1 fragmentieren, Fragment 1 nicht bewegen
- aber schaltend 2 fragmentieren, dann gehen zurück zu Fragment 1 erlaubt Fragment 1 zu scrollen (da Fragment 0 zerstört wird, denke ich)