修复运动更多列表显示问题
authorCaisking <Casiking@zhihuishixun.com>
Mon, 21 Jul 2025 09:52:30 +0000 (17:52 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Mon, 21 Jul 2025 09:52:30 +0000 (17:52 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/traing/training_list_more/include/TraingMorePresenter.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/traing/training_list_more/include/TraingMoreView.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/traing/training_list_more/src/TraingMoreView.cpp

index 20f1123..2ac3925 100644 (file)
@@ -33,8 +33,6 @@ namespace OHOS
         virtual ~TraingMorePresenter();
 
         void OnStart() override;
-        void OnPause() override;
-        void OnResume() override;
         void OnStop() override;
         void NavigateBack();
 
index f56ca47..95a1026 100644 (file)
@@ -52,33 +52,21 @@ namespace OHOS
     void TraingMorePresenter::OnStart()\r
     {\r
         p_TraingMoreModel->InitTraingMoreListItem();\r
-        Presenter<TraingMoreView>::OnStart();\r
-    }\r
-\r
-    void TraingMorePresenter::OnPause(void)\r
-    {\r
-        Presenter<TraingMoreView>::OnPause();\r
-    }\r
-\r
-    void TraingMorePresenter::OnResume(void)\r
-    {\r
         if (view_ == nullptr)\r
         {\r
             return;\r
         }\r
+\r
         const TraingMoreItem *itemInfo = p_TraingMoreModel->GetTraingMorelistItems();\r
-        for (int i = 0; i < p_TraingMoreModel->GetTraingMoreListNum(); i++)\r
-        {\r
-            view_->AddToTraingMoreList(itemInfo[i]);\r
-        }\r
-        Presenter<TraingMoreView>::OnResume();\r
+   \r
+        view_->RefreshTraingMoreList(itemInfo);\r
+        \r
     }\r
-\r
-    void TraingMorePresenter::OnStop(void)\r
-    {\r
-\r
-        Presenter<TraingMoreView>::OnStop();\r
+    void TraingMorePresenter::OnStop(void) \r
+    { \r
+        Presenter<TraingMoreView>::OnStop(); \r
     }\r
+\r
     void TraingMorePresenter::NavigateBack()\r
     {\r
         uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
index dae4905..de8c34b 100644 (file)
@@ -14,9 +14,10 @@ static TraingMoreView *g_pTraingMoreView{nullptr};
 \r
 TraingMoreView::TraingMoreView() { g_pTraingMoreView = this; }\r
 \r
-TraingMoreView::~TraingMoreView() { \r
+TraingMoreView::~TraingMoreView() {\r
   DeInitView();\r
-  g_pTraingMoreView = nullptr; }\r
+  g_pTraingMoreView = nullptr;\r
+}\r
 \r
 TraingMoreView *TraingMoreView::GetInstance() { return g_pTraingMoreView; }\r
 \r
@@ -30,7 +31,7 @@ void TraingMoreView::SetKeyActListener() {
   WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetKeyActListener");\r
   auto keyActListener = static_cast<RootView::OnKeyActListener *>(\r
       TraingMorePresenter::GetInstance());\r
- RootView::GetInstance()->SetOnKeyActListener(keyActListener);\r
+  RootView::GetInstance()->SetOnKeyActListener(keyActListener);\r
 }\r
 \r
 void TraingMoreView::InitScrollView() {\r
@@ -45,6 +46,7 @@ void TraingMoreView::InitScrollView() {
   scrollView->SetHorizontalScrollState(false);\r
   scrollView->SetOnDragListener(presenter_);\r
   scrollView->SetYScrollBarVisible(true);\r
+  AddViewToRootContainer(scrollView);\r
 }\r
 \r
 void TraingMoreView::InitList() {\r
@@ -76,20 +78,19 @@ void TraingMoreView::InitView() {
 void TraingMoreView::DeInitView() {\r
   if (viewInitStatus) {\r
 \r
-      if (scrollView) {\r
-        scrollView->RemoveAll();\r
-        if (p_TraingMoreListAdapter) {\r
-          delete p_TraingMoreListAdapter;\r
-          p_TraingMoreListAdapter = nullptr;\r
-        }\r
-        if (TraingMoreList) {\r
-          delete TraingMoreList;\r
-          TraingMoreList = nullptr;\r
-        }\r
-        delete scrollView;\r
-        scrollView = nullptr;\r
+    if (scrollView) {\r
+      scrollView->RemoveAll();\r
+      if (p_TraingMoreListAdapter) {\r
+        delete p_TraingMoreListAdapter;\r
+        p_TraingMoreListAdapter = nullptr;\r
+      }\r
+      if (TraingMoreList) {\r
+        delete TraingMoreList;\r
+        TraingMoreList = nullptr;\r
       }\r
- \r
+      delete scrollView;\r
+      scrollView = nullptr;\r
+    }\r
   }\r
 }\r
 \r
@@ -104,17 +105,21 @@ void TraingMoreView::OnStart() {
 \r
   PreLoad();\r
 \r
-\r
   if (scrollView && TraingMoreList) {\r
     scrollView->Add(TraingMoreList);\r
     scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
-    AddViewToRootContainer(scrollView);\r
-    if (p_TraingMoreListAdapter) {\r
-      TraingMoreList->SetAdapter(p_TraingMoreListAdapter);\r
-    }\r
-\r
   }\r
 }\r
 \r
+void TraingMoreView::RefreshTraingMoreList(const TraingMoreItem *itemInfo) {\r
+  for (uint8_t i = 0; i < TraingMoreModel::GetInstance().GetTraingMoreListNum();\r
+       i++) {\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
+                  "SettingPresenter::OnStart itemInfo[i].itemName:%d", i);\r
+    AddToTraingMoreList(itemInfo[i]);\r
+  }\r
+  TraingMoreList->SetAdapter(p_TraingMoreListAdapter);\r
+  TraingMoreList->RefreshList();\r
+}\r
 \r
 } // namespace OHOS
\ No newline at end of file