From 72e397e4550177496288503ab15d74ba077c5b78 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 15 八月 2023 15:14:27 +0800 Subject: [PATCH] 2023年08月15日15:14:20 --- HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs | 118 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 78 insertions(+), 40 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs index 926232b..f2d5ab6 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs @@ -35,7 +35,7 @@ /// <summary> /// 褰辩墖鍒楄〃 /// </summary> - List<MovieLibrary> mMovieLibraryList; + List<MovieLibrary> mMovieLibraryList=new List<MovieLibrary>(); /// <summary> /// 椤堕儴甯冨眬 /// </summary> @@ -111,14 +111,14 @@ /// </summary> private void LoadFTypeLayout() { - + fLayout.RemoveAll(); int count = this.mFilterCategoryList == null ? 0 : this.mFilterCategoryList.Count; horizontalFl = new CornerFramLayout(375, count * 75); fLayout.AddChidren(horizontalFl); horizontalFl.LoadHorizontalPage(this.mFilterCategoryList); horizontalFl.AdjustRealHeight(20); - + vv = new VerticalRefreshLayout() { Y = horizontalFl.Bottom, @@ -129,32 +129,7 @@ horizontalFl.selectKeyAction += (filters) => { AddMemoryFilters(filters); - CommonMethod.Current.Loading.Start(); - CommonMethod.Current.SunThread(() => - { - try - { - this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize); - for (int i = 0; i < this.mMovieLibraryList.Count; i++) - { - var mMovieLibrary = this.mMovieLibraryList[i]; - var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl); - mMovieLibrary.imageBytes = bytes; - - } - } - catch { } - finally - { - CommonMethod.Current.MainThread(() => - { - CommonMethod.Current.Loading.Hide(); - this.LoadImageFLayout(); - - }); - } - }); - + UpdateData(); }; } @@ -191,11 +166,12 @@ { //鍏抽棴鍒锋柊View锛� vv.EndHeaderRefreshing(); + UpdateData(); }; } /// <summary> - /// 鍒濆鏁版嵁 + /// 鍒濆鍖栨暟鎹� /// </summary> private void ReadData() { @@ -205,15 +181,8 @@ try { this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId); - - this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize); - for (int i = 0; i < this.mMovieLibraryList.Count; i++) - { - var mMovieLibrary = this.mMovieLibraryList[i]; - var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl); - mMovieLibrary.imageBytes = bytes; - - } + var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize); + DataTreating(newList); } catch { } finally @@ -230,8 +199,77 @@ } + /// <summary> + /// 涓诲姩鏇存柊鏁版嵁 + /// </summary> + private void UpdateData() + { - private void AddMemoryFilters(Filters filters) { + CommonMethod.Current.Loading.Start(); + CommonMethod.Current.SunThread(() => + { + try + { + var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize); + DataTreating(newList); + } + catch { } + finally + { + CommonMethod.Current.MainThread(() => + { + CommonMethod.Current.Loading.Hide(); + this.LoadImageFLayout(); + }); + } + }); + + } + + /// <summary> + /// 椤甸潰澶勭悊閫昏緫 + /// </summary> + /// <param name="newList">鏂板垪琛ㄦ暟鎹�</param> + private void DataTreating(List<MovieLibrary> newList) + { + if (newList == null) + { + return; + } + for (int i = 0; i < newList.Count; i++) + { + var mMovieLibrary = newList[i]; + //鍥剧墖鐨勫瓧鑺傛祦 + var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl); + //鏇存柊鍊� + mMovieLibrary.imageBytes = bytes; + + } + for (int i = 0; i < newList.Count; i++) + { + //鍘婚噸 + var mMovieLibrary = this.mMovieLibraryList.Find((o) => o.movieId == newList[i].movieId); + if (mMovieLibrary == null) + { + //鏂板垪琛ㄩ粯璁ゅ姞鍦ㄥ墠闈� + this.mMovieLibraryList.Insert(0, newList[i]); + } + } + if (newList.Count == SendMethod.pageSize) + { + //鏁版嵁鍥炲鏇存柊椤垫暟 + pageNo++; + } + + } + + + /// <summary> + /// 娣诲姞杩囨护鏁版嵁 + /// </summary> + /// <param name="filters">杩囨护鏉′欢</param> + private void AddMemoryFilters(Filters filters) + { if (FiltersList.ContainsKey(filters.category)) { -- Gitblit v1.8.0