* [Android] Fix that moveElement doesn't work when parent is not a list
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f4fefab6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f4fefab6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f4fefab6 Branch: refs/heads/master Commit: f4fefab661c39f4eeb419587b1f7a6380c703311 Parents: 4c494b2 Author: YorkShen <shenyua...@gmail.com> Authored: Wed Oct 18 16:13:09 2017 +0800 Committer: YorkShen <shenyua...@gmail.com> Committed: Wed Oct 18 16:55:23 2017 +0800 ---------------------------------------------------------------------- .../java/com/taobao/weex/dom/action/MoveElementAction.java | 3 +++ .../src/main/java/com/taobao/weex/ui/component/WXScroller.java | 2 +- .../src/main/java/com/taobao/weex/ui/component/WXSlider.java | 2 +- .../java/com/taobao/weex/ui/component/WXSliderNeighbor.java | 2 +- .../main/java/com/taobao/weex/ui/component/WXVContainer.java | 6 +++++- .../com/taobao/weex/ui/component/list/BasicListComponent.java | 2 +- .../ui/component/list/template/WXRecyclerTemplateList.java | 2 +- 7 files changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/android/sdk/src/main/java/com/taobao/weex/dom/action/MoveElementAction.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/MoveElementAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/MoveElementAction.java index 258da68..bbd093c 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/action/MoveElementAction.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/MoveElementAction.java @@ -91,5 +91,8 @@ final class MoveElementAction implements DOMAction, RenderAction { WXVContainer oldParent = component.getParent(); oldParent.remove(component,false); ((WXVContainer) newParent).addChild(component, mNewIndex); + if(!component.isVirtualComponent()){ + ((WXVContainer) newParent).addSubView(component.getHostView(), mNewIndex); + } } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java index 6cf784f..9e56259 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java @@ -233,7 +233,7 @@ public class WXScroller extends WXVContainer<ViewGroup> implements WXScrollViewL * Intercept refresh view and loading view */ @Override - protected void addSubView(View child, int index) { + public void addSubView(View child, int index) { if (child == null || getRealView() == null) { return; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/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 1023e3e..ec2d73f 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 @@ -173,7 +173,7 @@ public class WXSlider extends WXVContainer<FrameLayout> { } @Override - protected void addSubView(View view, int index) { + public void addSubView(View view, int index) { if (view == null || mAdapter == null) { return; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSliderNeighbor.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSliderNeighbor.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSliderNeighbor.java index b1001b7..0899c8d 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSliderNeighbor.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSliderNeighbor.java @@ -113,7 +113,7 @@ public class WXSliderNeighbor extends WXSlider { } @Override - protected void addSubView(View view, final int index) { + public void addSubView(View view, final int index) { if (view == null || mAdapter == null) { return; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java index 4570729..ee4bb73 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java @@ -20,6 +20,9 @@ package com.taobao.weex.ui.component; import android.content.Context; import android.content.Intent; +import android.support.annotation.RestrictTo; +import android.support.annotation.RestrictTo.Scope; +import android.util.Pair; import android.support.annotation.Nullable; import android.util.Pair; import android.view.Menu; @@ -308,7 +311,8 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> { } } - protected void addSubView(View child, int index) { + @RestrictTo(Scope.LIBRARY) + public void addSubView(View child, int index) { if (child == null || getRealView() == null) { return; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/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 5649832..c04ed0a 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 @@ -706,7 +706,7 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView * com.taobao.weex.ui.view.listview.WXRecyclerView} */ @Override - protected void addSubView(View child, int index) { + public void addSubView(View child, int index) { } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f4fefab6/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 1918517..76bcce0 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -593,7 +593,7 @@ public class WXRecyclerTemplateList extends WXVContainer<BounceRecyclerView> imp * com.taobao.weex.ui.view.listview.WXRecyclerView} */ @Override - protected void addSubView(View child, int index) { + public void addSubView(View child, int index) { }