Skip to content

Commit 716b3a5

Browse files
authored
fix(android): children views were not recycled (#516)
1 parent c558f98 commit 716b3a5

File tree

6 files changed

+14
-4
lines changed

6 files changed

+14
-4
lines changed

android/src/main/java/com/reactnativepagerview/FragmentAdapter.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ class FragmentAdapter(fragmentActivity: FragmentActivity) : FragmentStateAdapter
7373

7474
fun getReactChildCount() = childrenViews.size
7575

76+
fun removeAll() {
77+
childrenViews.clear()
78+
}
79+
7680
fun removeReactViewAt(index: Int) {
7781
markDirty()
7882
childrenViews.removeAt(index)

android/src/main/java/com/reactnativepagerview/PagerViewViewManager.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ class PagerViewViewManager : ViewGroupManager<ViewPager2>() {
8181
adapter.removeReactViewAt(index)
8282
postNewChanges(parent)
8383
}
84+
85+
override fun removeAllViews(parent: ViewPager2) {
86+
val adapter = parent.adapter as FragmentAdapter
87+
adapter.removeAll();
88+
postNewChanges(parent)
89+
}
8490

8591
override fun needsCustomLayoutForChildren(): Boolean {
8692
return true

lib/commonjs/LazyPagerView.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/commonjs/LazyPagerView.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/module/LazyPagerView.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/module/LazyPagerView.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)