From b0eaaae72b9199eed11dc40bbe52c063c3dbb8ea Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Fri, 27 Sep 2024 20:13:20 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9=E8=BF=90=E5=8A=A8=E7=BB=93?= =?utf8?q?=E6=9E=9CSlice=E6=9E=90=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../traing/include/TraingEnddataView.h | 1 - .../nativeui/traing/src/TraingEnddataView.cpp | 252 ++++++++++++------ 2 files changed, 171 insertions(+), 82 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataView.h index 2ed83144d..e15a82e49 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataView.h @@ -72,7 +72,6 @@ private: TraingEnddataView(TraingEnddataView &&) = delete; TraingEnddataView &operator=(TraingEnddataView &&) = delete; - UIViewGroup *container_ = nullptr; UIScrollView *scrollView_ = nullptr; UILabelExt *labelutime = nullptr; // u训练时间 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp index a8abf78bb..3a27bf0aa 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp @@ -51,11 +51,11 @@ static TraingEnddataView *g_pTraingEnddataView{nullptr}; TraingEnddataView::TraingEnddataView() { g_pTraingEnddataView = this; } TraingEnddataView::~TraingEnddataView() { - // DeInit(); - scrollView_->RemoveAll(); + DeInit(); + // scrollView_->RemoveAll(); - UIViewGroup *tmpGroup = dynamic_cast(container_); - UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup); + // UIViewGroup *tmpGroup = dynamic_cast(container_); + // UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup); g_pTraingEnddataView = nullptr; } @@ -327,82 +327,173 @@ void TraingEnddataView ::InitView() { /* DeInit:删除组件 */ void TraingEnddataView::DeInit() { - scrollView_->RemoveAll(); - - /*单位label*/ - delete labelutime; - labelutime = nullptr; - delete labelutag; - labelutag = nullptr; - delete labelusteps; - labelusteps = nullptr; - delete labelumile; - labelumile = nullptr; - delete labeluheart; - labeluheart = nullptr; - delete labelustrong; - labelustrong = nullptr; - delete labeluavpace; - labeluavpace = nullptr; - delete labelufreq; - labelufreq = nullptr; - delete labelustride; - labelustride = nullptr; - - /*值label*/ - delete labeltype; - labeltype = nullptr; - delete labelsport; - labelsport = nullptr; - delete labelduration; - labelduration = nullptr; - delete labeltag; - labeltag = nullptr; - delete labeltime; - labeltime = nullptr; - delete labelmile; - labelmile = nullptr; - delete labelheart; - labelheart = nullptr; - delete labelstrong; - labelstrong = nullptr; - delete labelsteps; - labelsteps = nullptr; - delete labelavpace; - labelavpace = nullptr; - delete labelfreq; - labelfreq = nullptr; - delete labelstride; - labelstride = nullptr; - - /*图片label*/ - delete imageIcon; - imageIcon = nullptr; - delete imageLine2; - imageLine2 = nullptr; - delete imageLine3; - imageLine3 = nullptr; - delete imageLine4; - imageLine4 = nullptr; - delete imageLine5; - imageLine5 = nullptr; - delete imageLine6; - imageLine6 = nullptr; - delete imageLine8; - imageLine8 = nullptr; - delete imageLine9; - imageLine9 = nullptr; - delete imageLine10; - imageLine10 = nullptr; - - /*退出相关*/ - delete exitButton; - exitButton = nullptr; - delete exitLabel; - exitLabel = nullptr; - - delete scrollView_; - scrollView_ = nullptr; + // 确保 scrollView_ 存在,并移除所有组件 + if (scrollView_) { + scrollView_->RemoveAll(); + delete scrollView_; + scrollView_ = nullptr; + } + + // 删除所有 UILabelExt 类型指针 + if (labelutime) { + delete labelutime; + labelutime = nullptr; + } + if (labelutag) { + delete labelutag; + labelutag = nullptr; + } + if (labelusteps) { + delete labelusteps; + labelusteps = nullptr; + } + if (labelumile) { + delete labelumile; + labelumile = nullptr; + } + if (labeluheart) { + delete labeluheart; + labeluheart = nullptr; + } + if (labelustrong) { + delete labelustrong; + labelustrong = nullptr; + } + if (labeluavpace) { + delete labeluavpace; + labeluavpace = nullptr; + } + if (labelufreq) { + delete labelufreq; + labelufreq = nullptr; + } + if (labelustride) { + delete labelustride; + labelustride = nullptr; + } + if (labelucalorie) { + delete labelucalorie; + labelucalorie = nullptr; + } + + /* 删除值 label */ + if (labeltype) { + delete labeltype; + labeltype = nullptr; + } + if (labelsport) { + delete labelsport; + labelsport = nullptr; + } + if (labelduration) { + delete labelduration; + labelduration = nullptr; + } + if (labeltag) { + delete labeltag; + labeltag = nullptr; + } + if (labeltime) { + delete labeltime; + labeltime = nullptr; + } + if (labelmile) { + delete labelmile; + labelmile = nullptr; + } + if (labelheart) { + delete labelheart; + labelheart = nullptr; + } + if (labelstrong) { + delete labelstrong; + labelstrong = nullptr; + } + if (labelsteps) { + delete labelsteps; + labelsteps = nullptr; + } + if (labelavpace) { + delete labelavpace; + labelavpace = nullptr; + } + if (labelfreq) { + delete labelfreq; + labelfreq = nullptr; + } + if (labelstride) { + delete labelstride; + labelstride = nullptr; + } + if (labelcalories) { + delete labelcalories; + labelcalories = nullptr; + } + + /* 删除图片 label */ + if (imageIcon) { + delete imageIcon; + imageIcon = nullptr; + } + if (imageLine2) { + delete imageLine2; + imageLine2 = nullptr; + } + if (imageLine3) { + delete imageLine3; + imageLine3 = nullptr; + } + if (imageLine4) { + delete imageLine4; + imageLine4 = nullptr; + } + if (imageLine5) { + delete imageLine5; + imageLine5 = nullptr; + } + if (imageLine6) { + delete imageLine6; + imageLine6 = nullptr; + } + if (imageLine7) { + delete imageLine7; + imageLine7 = nullptr; + } + if (imageLine8) { + delete imageLine8; + imageLine8 = nullptr; + } + if (imageLine9) { + delete imageLine9; + imageLine9 = nullptr; + } + if (imageLine10) { + delete imageLine10; + imageLine10 = nullptr; + } + if (imageLine11) { + delete imageLine11; + imageLine11 = nullptr; + } + if (imageLine12) { + delete imageLine12; + imageLine12 = nullptr; + } + + /* 退出相关 */ + if (exitButton) { + delete exitButton; + exitButton = nullptr; + } + if (exitLabel) { + delete exitLabel; + exitLabel = nullptr; + } + + if (scrollView_) { + delete scrollView_; + scrollView_ = nullptr; + } } void TraingEnddataView::PreLoad(void) { @@ -614,7 +705,6 @@ void TraingEnddataView::OnTearDownView() { void TraingEnddataView::OnStop() { View::OnStop(); - RootView::GetInstance()->ClearOnKeyActListener(); if (container_ != nullptr) { container_->RemoveAll(); delete container_; -- 2.17.1