private static List <PickedMeal> RearangeList(List <Meal> newList) { List <PickedMeal> pickedMealList = new List <PickedMeal>(); foreach (Meal meal in newList) { PickedMeal selectedPickedMeal = null; foreach (PickedMeal pMeal in pickedMealList) { if (pMeal.Name == meal.Name) { selectedPickedMeal = pMeal; break; } } if (selectedPickedMeal == null) { // 메인은 통계적인 정보를 보여주는 건데, 개별 아이템에 날짜/type 정보를 보여주기 애매해서 일단 첫번째 데이터로 뿌려줌 pickedMealList.Add(new PickedMeal(meal.Name, meal.Rate, meal.ImageName, meal.CreateDate, meal.Comments, meal.Type)); } else { selectedPickedMeal.AddRate(meal.Rate); selectedPickedMeal.AddCount(); selectedPickedMeal.SetComments(meal.Comments); // 제일 긴걸로 넣어준다. } } return(pickedMealList); }
public static List <PickedMeal> GetDataWithNoDataProcessing(List <PickedMeal> list) { if (list == null) { list = new List <PickedMeal>(); } if (list.Count == 0) { PickedMeal meal = new PickedMeal(); meal.Name = MyUtil.NO_DATA; list.Add(meal); } return(list); }
protected void OnListItemClick(object sender, AdapterView.ItemClickEventArgs e, List <PickedMeal> list) { ListView listView = sender as ListView; for (int i = 0; i < listView.ChildCount; i++) { listView.GetChildAt(i).SetBackgroundColor(Color.Transparent); } e.View.SetBackgroundColor(Color.LightGray); meal = list[e.Position]; // custom dialog if (dialog == null) { dialog = new Dialog(view.Context, Resource.Style.Dialog); } dialog.SetContentView(Resource.Layout.ViewInformation); dialog.FindViewById <TextView>(Resource.Id.viewComments).Text = meal.Comments; dialog.FindViewById <TextView>(Resource.Id.viewFoodName).Text = meal.Name; dialog.FindViewById <RatingBar>(Resource.Id.viewRatingBar).Rating = meal.Rate; dialog.FindViewById <TextView>(Resource.Id.viewMealType).Text = meal.CreateDate.ToString("yyyy-MM-dd") + " / " + MyUtil.GetType(meal); FFImageLoading.Views.ImageViewAsync imageView = dialog.FindViewById <FFImageLoading.Views.ImageViewAsync>(Resource.Id.viewImageView); if (!string.IsNullOrWhiteSpace(meal.ImageName)) { ImageService.Instance .LoadFile(System.IO.Path.Combine(PageRegisterFragment.documentsDirectory, meal.ImageName)) .DownSampleInDip(width: 250) .LoadingPlaceholder("loading.png", FFImageLoading.Work.ImageSource.CompiledResource) .ErrorPlaceholder("error.png", FFImageLoading.Work.ImageSource.CompiledResource) .Into(imageView); } else { ImageService.Instance.LoadCompiledResource("noImage.png").Into(imageView); } dialog.FindViewById <LinearLayout>(Resource.Id.firstLineInViewInformation).LayoutParameters = new TableRow.LayoutParams(LinearLayout.LayoutParams.MatchParent, 0); dialog.CancelEvent += closeDialog; dialog.Show(); }