解决日程列表List不起作用bug
authorluozheng <1732036298@qq.com>
Thu, 7 Nov 2024 03:02:31 +0000 (11:02 +0800)
committerluozheng <1732036298@qq.com>
Thu, 7 Nov 2024 03:02:31 +0000 (11:02 +0800)
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleView.h
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleView.cpp

index 537f420..f154f41 100644 (file)
@@ -55,6 +55,8 @@ namespace OHOS
         void DisplayContentScreen(void);\r
         void DisplayDeleteScreen(void);\r
 \r
+        void SetViewFocus(bool val);\r
+\r
     private:\r
 \r
         void ResetScheduleList(void);\r
index e170c90..7cb2cdf 100644 (file)
@@ -129,6 +129,7 @@ namespace OHOS
             DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_LIST);\r
 \r
             ResetScheduleList();\r
+            SetViewFocus(true);//列表获取聚焦\r
             ScheduleList_->RefreshList();\r
         }\r
     }\r
@@ -136,6 +137,7 @@ namespace OHOS
     void ScheduleView::DisplayContentScreen(void)\r
     {\r
         DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_CONTENT);\r
+        SetViewFocus(false);//数据显示视图获取聚焦\r
 \r
         uint8_t index = ContentScreenItemIndexGet();\r
         ContentDateLabelExt_->SetText(ScheduleModel::GetInstance().ScheduleItemDataDateStrGet(index).c_str());\r
@@ -437,7 +439,7 @@ namespace OHOS
             ContentGroup_->SetDirection(1);\r
             ContentGroup_->SetMaxScrollDistance(1000);\r
             ContentGroup_->SetThrowDrag(true);\r
-            ContentGroup_->RequestFocus();\r
+            // ContentGroup_->RequestFocus();\r
             ContentGroup_->SetRotateFactor(2);\r
 \r
             if(nullptr == ContentDateLabelExt_)\r
@@ -811,4 +813,20 @@ namespace OHOS
             ScheduleList_->SetReboundSize(0);\r
         }\r
     }\r
+\r
+    void ScheduleView::SetViewFocus(bool val)\r
+    {\r
+        if(!ContentGroup_ || !ScheduleList_)\r
+        {\r
+            return;\r
+        }\r
+        if(val)\r
+        {\r
+            ScheduleList_->RequestFocus();\r
+        }\r
+        else\r
+        {\r
+            ContentGroup_->RequestFocus();\r
+        }\r
+    }\r
 }
\ No newline at end of file