修复界面切换bug
authorxue <2144439972@qq.com>
Thu, 19 Jun 2025 02:39:04 +0000 (10:39 +0800)
committerxue <2144439972@qq.com>
Thu, 19 Jun 2025 02:39:04 +0000 (10:39 +0800)
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPMainPresenter.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainView.cpp

index ac164ff..da1a32f 100644 (file)
@@ -25,7 +25,7 @@ namespace OHOS
         BPMainPresenter();
         virtual ~BPMainPresenter();
         static BPMainPresenter *GetInstance(void);
-        void ReSetPassflag();
+        void SetPassflag(int value);
 
         void OnStart() override;
         void OnPause() override;
index 571c575..3b50d46 100644 (file)
@@ -73,9 +73,9 @@ namespace OHOS
     {
         return g_pBPMainPresenter;
     }
-    void BPMainPresenter::ReSetPassflag()
+    void BPMainPresenter::SetPassflag(int value)
     {
-        passflag = 0;
+        passflag = value;
     }
     void BPMainPresenter::OnStart()
     {
@@ -166,7 +166,8 @@ namespace OHOS
             else
             {
                 // 退出
-                // passflag = 0;
+                NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+                passflag = 0;
             }
         }
         else if (strcmp(view.GetViewId(), "SBPLeft") == 0)
@@ -209,6 +210,7 @@ namespace OHOS
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CALIBRATIONLATTERBUTTON");
             // 退出
+            NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
         }
         return true;
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BPPresenter::OnClick");
index e16dca5..09a3c21 100644 (file)
@@ -111,12 +111,15 @@ namespace OHOS
 
         if (BPModel::GetInstance()->GetCalibrationFlag() == 0)
         {
-            ChangeView(MAX_BPVIEW, BPCALPOSREQVIEW);// 切换到第一个界面
-            BPMainPresenter::GetInstance()->ReSetPassflag();//重置校准成功按钮标志位
-        } 
+            ChangeView(MAX_BPVIEW, BPCALPOSREQVIEW);         // 切换到第一个界面
+            BPMainPresenter::GetInstance()->SetPassflag(0); // 重置校准成功按钮标志位
+        }
 
         else
+        {
             ChangeView(MAX_BPVIEW, BPLASTCALIBRATIONTIME);
+            BPMainPresenter::GetInstance()->SetPassflag(1); // 校准成功按钮标志位
+        }
 
         // 增加按键监听
         RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BPMainPresenter::GetInstance();