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/06/07 02:57:31 UTC

[1/2] incubator-weex git commit: [WEEX-342][android] List NullPointerException Bug Fix

Repository: incubator-weex
Updated Branches:
  refs/heads/master 981158f90 -> 600d3b139


[WEEX-342][android] List NullPointerException Bug Fix


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

Branch: refs/heads/master
Commit: 600d3b1392bb81cd984f54363c19d2351494bd15
Parents: 27e13ef
Author: jianbai.gbj <gu...@163.com>
Authored: Fri Jun 1 16:52:25 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Jun 7 10:57:18 2018 +0800

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


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/600d3b13/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 a147f03..14dc743 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
@@ -224,7 +224,7 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
 
   @Override
   public void destroy() {
-    if(mAppearChangeRunnable != null) {
+    if(mAppearChangeRunnable != null &&  getHostView() != null) {
       getHostView().removeCallbacks(mAppearChangeRunnable);
       mAppearChangeRunnable = null;
     }


[2/2] incubator-weex git commit: [WEEX-342][android] The index attribute of the slider component does not work on Android.

Posted by ky...@apache.org.
[WEEX-342][android] The index attribute of the slider component does not work on Android.


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

Branch: refs/heads/master
Commit: 27e13efb2e8f7f13a892e7a5d1e93ac011b202fb
Parents: 981158f
Author: jianbai.gbj <gu...@163.com>
Authored: Fri Jun 1 10:55:08 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Jun 7 10:57:18 2018 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/WXSlider.java  | 31 ++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/27e13efb/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
index cee6520..a31b56c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
@@ -64,6 +64,8 @@ public class WXSlider extends WXVContainer<FrameLayout> {
   private float offsetXAccuracy = 0.1f;
   private int initIndex = -1;
   private boolean keepIndex = false;
+  private Runnable initRunnable;
+
 
   public static class Creator implements ComponentCreator {
     public WXComponent createInstance(WXSDKInstance instance, WXVContainer parent, BasicComponentData basicComponentData) throws IllegalAccessException, InvocationTargetException, InstantiationException {
@@ -186,8 +188,19 @@ public class WXSlider extends WXVContainer<FrameLayout> {
     mAdapter.addPageView(view);
     hackTwoItemsInfiniteScroll();
     if (initIndex != -1 && mAdapter.getRealCount() > initIndex) {
-      mViewPager.setCurrentItem(initIndex);
-      initIndex = -1;
+      if(initRunnable == null){
+        initRunnable = new Runnable() {
+          @Override
+          public void run() {
+            initIndex = getInitIndex();
+            mViewPager.setCurrentItem(initIndex);
+            initIndex = -1;
+            initRunnable = null;
+          }
+        };
+      }
+      mViewPager.removeCallbacks(initRunnable);
+      mViewPager.postDelayed(initRunnable, 50);
     } else {
       if (!keepIndex) {
         mViewPager.setCurrentItem(0);
@@ -251,6 +264,20 @@ public class WXSlider extends WXVContainer<FrameLayout> {
 
   }
 
+
+  private int getInitIndex(){
+    Object index = getAttrs().get(Constants.Name.INDEX);
+    int select = WXUtils.getInteger(index, initIndex);
+    if(mAdapter == null || mAdapter.getCount() == 0){
+      return  0;
+    }
+    if(select >= mAdapter.getRealCount()){
+      select = select%mAdapter.getRealCount();
+    }
+    return select;
+  }
+
+
   @Override
   protected boolean setProperty(String key, Object param) {
     switch (key) {