You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2018/10/23 12:45:09 UTC

[incubator-weex] branch master updated: [Android] fix data not bind when non-recyclable item is lazy in list (#1660)

This is an automated email from the ASF dual-hosted git repository.

kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new bf595cf  [Android] fix data not bind when non-recyclable item is lazy in list (#1660)
bf595cf is described below

commit bf595cf1bd19b348224a87a24014a7466f9af907
Author: yxping <yx...@users.noreply.github.com>
AuthorDate: Tue Oct 23 20:45:03 2018 +0800

    [Android] fix data not bind when non-recyclable item is lazy in list (#1660)
---
 .../java/com/taobao/weex/ui/component/list/BasicListComponent.java   | 4 ++--
 .../com/taobao/weex/ui/view/listview/adapter/ListBaseViewHolder.java | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
index e025c3b..e377ad9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
@@ -968,10 +968,10 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
             if (component.getRealView() != null) {
               return new ListBaseViewHolder(component, viewType);
             } else {
-              ((WXCell) component).lazy(false);
+              component.lazy(false);
               component.createView();
               component.applyLayoutAndEvent(component);
-              return new ListBaseViewHolder(component, viewType);
+              return new ListBaseViewHolder(component, viewType, true);
             }
           } else if (component instanceof WXBaseRefresh) {
             return createVHForRefreshComponent(viewType);
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/adapter/ListBaseViewHolder.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/adapter/ListBaseViewHolder.java
index 2419b6e..3c332da 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/adapter/ListBaseViewHolder.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/adapter/ListBaseViewHolder.java
@@ -47,6 +47,11 @@ public class ListBaseViewHolder extends RecyclerView.ViewHolder {
     isRecycled = component.canRecycled();
   }
 
+  public ListBaseViewHolder(WXComponent component, int viewType, boolean forceBindData) {
+    this(component, viewType);
+    isRecycled = isRecycled || forceBindData;
+  }
+
   public ListBaseViewHolder(View view, int viewType) {
     super(view);
     mViewType = viewType;