From f963967131df422e1de2a5e87077768e96baa37a Mon Sep 17 00:00:00 2001 From: biezhihua Date: Wed, 3 Jul 2024 12:18:36 +0800 Subject: [PATCH] fix lifecycle --- .../com/alibaba/gaiax/render/view/container/GXGridView.kt | 4 +++- .../com/alibaba/gaiax/render/view/container/GXScrollView.kt | 4 +++- .../gaiax/render/view/container/slider/GXSliderView.kt | 5 +++-- .../kotlin/com/alibaba/gaiax/demo/ScrollTemplateActivity.kt | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXGridView.kt b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXGridView.kt index ce15b3061..4d37b7b7d 100644 --- a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXGridView.kt +++ b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXGridView.kt @@ -69,12 +69,14 @@ open class GXGridView : GXContainer, GXIRelease { if (Log.isLog()) { Log.e(gxTemplateContext.tag, "traceId=${gxTemplateContext.traceId} tag=GXGridView.release GXScrollView=$this gxView=$gxView") } - GXTemplateEngine.instance.destroyView(gxView) + if (gxTemplateContext.templateItem.isPageMode) { GXRegisterCenter.instance.gxPageItemViewLifecycleListener?.onDestroy(gxView) } else { GXRegisterCenter.instance.gxItemViewLifecycleListener?.onDestroy(gxView) } + + GXTemplateEngine.instance.destroyView(gxView) } } } diff --git a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXScrollView.kt b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXScrollView.kt index d34cc5f66..7c282f9b9 100644 --- a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXScrollView.kt +++ b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/GXScrollView.kt @@ -69,12 +69,14 @@ open class GXScrollView : GXContainer, GXIRelease { if (Log.isLog()) { Log.e(gxTemplateContext.tag, "traceId=${gxTemplateContext.traceId} tag=GXScrollView.release GXScrollView=$this gxView=$gxView") } - GXTemplateEngine.instance.destroyView(gxView) + if (gxTemplateContext.templateItem.isPageMode) { GXRegisterCenter.instance.gxPageItemViewLifecycleListener?.onDestroy(gxView) } else { GXRegisterCenter.instance.gxItemViewLifecycleListener?.onDestroy(gxView) } + + GXTemplateEngine.instance.destroyView(gxView) } } } diff --git a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/slider/GXSliderView.kt b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/slider/GXSliderView.kt index 34f5a3110..89690fc11 100644 --- a/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/slider/GXSliderView.kt +++ b/GaiaXAndroid/src/main/kotlin/com/alibaba/gaiax/render/view/container/slider/GXSliderView.kt @@ -351,12 +351,13 @@ class GXSliderView : FrameLayout, GXIContainer, GXIViewBindData, GXIRootView, if (Log.isLog()) { Log.e(gxTemplateContext.tag, "traceId=${gxTemplateContext.traceId} tag=GXSliderView.release GXSliderView=$this gxView=$gxView") } - GXTemplateEngine.instance.destroyView(gxView) + if (gxTemplateContext.templateItem.isPageMode) { GXRegisterCenter.instance.gxPageItemViewLifecycleListener?.onDestroy(gxView) } else { - GXRegisterCenter.instance.gxItemViewLifecycleListener?.onDestroy(gxView) } + + GXTemplateEngine.instance.destroyView(gxView) } } } diff --git a/GaiaXAndroidDemo/app/src/main/kotlin/com/alibaba/gaiax/demo/ScrollTemplateActivity.kt b/GaiaXAndroidDemo/app/src/main/kotlin/com/alibaba/gaiax/demo/ScrollTemplateActivity.kt index dc6147e72..cd3e06af7 100644 --- a/GaiaXAndroidDemo/app/src/main/kotlin/com/alibaba/gaiax/demo/ScrollTemplateActivity.kt +++ b/GaiaXAndroidDemo/app/src/main/kotlin/com/alibaba/gaiax/demo/ScrollTemplateActivity.kt @@ -233,7 +233,7 @@ class ScrollTemplateActivity : AppCompatActivity() { val extend = templateData.data.getJSONObject("extend") extend["scroll-index"] = it extend["holding-offset"] = true - extend["scroll-position"] = "right" + extend["scroll-position"] = "center" GXTemplateEngine.instance.bindData(view, templateData) } }