You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by zs...@apache.org on 2017/07/21 10:27:20 UTC

[2/3] incubator-weex git commit: * [android] fix waterfall crash

* [android] fix waterfall crash


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

Branch: refs/heads/0.15-dev
Commit: 4ba3101b9f9097615a4086a788303167d8601e23
Parents: c0f99ea
Author: 莫绪旻 <xu...@alibaba-inc.com>
Authored: Fri Jul 21 17:55:33 2017 +0800
Committer: 莫绪旻 <xu...@alibaba-inc.com>
Committed: Fri Jul 21 17:55:33 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/dom/WXRecyclerDomObject.java   | 4 ++++
 .../com/taobao/weex/ui/component/list/WXListComponent.java   | 8 ++++++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4ba3101b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
index 62f4a22..7424a56 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
@@ -91,10 +91,14 @@ public class WXRecyclerDomObject extends WXDomObject{
             } else if (Constants.Value.AUTO != mColumnWidth && Constants.Value.AUTO == mColumnCount) {
                 mColumnCount = Math.round((mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
                 mColumnCount = mColumnCount > 0 ? mColumnCount :1;
+                if (mColumnCount <= 0)
+                    mColumnCount = Constants.Value.COLUMN_COUNT_NORMAL;
                 mColumnWidth =((mAvailableWidth + mColumnGap) / mColumnCount) - mColumnGap;
             } else if(Constants.Value.AUTO != mColumnWidth && Constants.Value.AUTO != mColumnCount){
                 int columnCount = Math.round((mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
                 mColumnCount = columnCount > mColumnCount ? mColumnCount :columnCount;
+                if (mColumnCount <= 0)
+                    mColumnCount = Constants.Value.COLUMN_COUNT_NORMAL;
                 mColumnWidth= ((mAvailableWidth + mColumnGap) / mColumnCount) - mColumnGap;
             }
             mIsPreCalculateCellWidth = true;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4ba3101b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXListComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXListComponent.java
index 9b36be4..9a52dfb 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXListComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXListComponent.java
@@ -90,6 +90,14 @@ public class WXListComponent extends BasicListComponent<BounceRecyclerView> {
       return;
     }
     setRefreshOrLoading(child);
+
+    // Synchronize DomObject's attr to Component and Native View
+    if(mDomObject.getColumnWidth() != mColumnWidth ||
+            mDomObject.getColumnCount() != mColumnCount ||
+            mDomObject.getColumnGap() != mColumnGap) {
+      updateRecyclerAttr();
+      getHostView().getInnerView().initView(getContext(), mLayoutType,mColumnCount,mColumnGap,getOrientation());
+    }
   }