diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java index 9bd6e4399f4..f7ea816e11a 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/TiListView.java @@ -21,6 +21,7 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.ShapeDrawable; import android.graphics.drawable.shapes.RectShape; +import android.os.Parcelable; import android.view.MotionEvent; import android.view.View; @@ -193,7 +194,7 @@ public void onLayoutChange(View v, int left, int top, int right, int bottom, int final SelectionTracker.Builder trackerBuilder = new SelectionTracker.Builder("list_view_selection", this.recyclerView, - new ItemKeyProvider(1) + new ItemKeyProvider(ItemKeyProvider.SCOPE_CACHED) { @Nullable @Override @@ -738,6 +739,8 @@ public void update(boolean force) this.proxy.fireEvent(TiC.EVENT_NO_RESULTS, null); } + Parcelable recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState(); + // Notify adapter of changes on UI thread. this.adapter.update(this.items, force); @@ -778,6 +781,8 @@ public void run() } } } + + recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState); } }); } diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tableview/TiTableView.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tableview/TiTableView.java index 8044e4e8350..d1d9e0589f3 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tableview/TiTableView.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tableview/TiTableView.java @@ -170,7 +170,7 @@ public void onLayoutChange(View v, int left, int top, int right, int bottom, int final SelectionTracker.Builder trackerBuilder = new SelectionTracker.Builder("table_view_selection", this.recyclerView, - new ItemKeyProvider(1) + new ItemKeyProvider(ItemKeyProvider.SCOPE_CACHED) { @Nullable @Override