| | |
| | | /// <summary> |
| | | /// 影片列表 |
| | | /// </summary> |
| | | List<MovieLibrary> mMovieLibraryList; |
| | | List<MovieLibrary> mMovieLibraryList=new List<MovieLibrary>(); |
| | | /// <summary> |
| | | /// 顶部布局 |
| | | /// </summary> |
| | |
| | | /// </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, |
| | |
| | | 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(); |
| | | }; |
| | | |
| | | } |
| | |
| | | { |
| | | //关闭刷新View; |
| | | vv.EndHeaderRefreshing(); |
| | | UpdateData(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始数据 |
| | | /// 初始化数据 |
| | | /// </summary> |
| | | private void ReadData() |
| | | { |
| | |
| | | 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 |
| | |
| | | |
| | | } |
| | | |
| | | /// <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)) |
| | | { |