Repository: incubator-weex
Updated Branches:
  refs/heads/master 7632ecc89 -> b87dc42cd


[WEEX-162][android] When Cell Position Changed , outOfVisibleRange not
accurate, item.getCellPositionINScollable() get wrong position, use
attachWindow instead close #933, close #931


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b87dc42c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b87dc42c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b87dc42c

Branch: refs/heads/master
Commit: b87dc42cdf55e4f75ca543071d6bed888133b91b
Parents: 7632ecc
Author: jianbai.gbj <jianbai....@alibaba-inc.com>
Authored: Wed Dec 6 12:20:32 2017 +0800
Committer: acton393 <zhangxing610...@gmail.com>
Committed: Fri Dec 8 14:19:56 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/list/BasicListComponent.java     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b87dc42c/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
----------------------------------------------------------------------
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 79d916a..afaa2e7 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
@@ -28,6 +28,7 @@ import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v4.util.ArrayMap;
 import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewCompat;
 import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
@@ -1166,13 +1167,13 @@ public abstract class BasicListComponent<T extends 
ViewGroup & ListComponentView
         continue;
       }
 
-      boolean outOfVisibleRange = item.getCellPositionINScollable() < 
firstVisible || item.getCellPositionINScollable() > lastVisible;
 
       View view = component.getHostView();
       if (view == null) {
         continue;
       }
 
+      boolean outOfVisibleRange = !ViewCompat.isAttachedToWindow(view);
       boolean visible = (!outOfVisibleRange) && item.isViewVisible(true);
 
       int result = item.setAppearStatus(visible);

Reply via email to