예제 #1
0
        public override async void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            var simpleHolder = holder as SimpleViewHolder;

            simpleHolder.mBoundString  = mValues[position];
            simpleHolder.mTxtView.Text = mValues[position];

            int drawableID = Cheeses.RandomCheeseDrawable;

            BitmapFactory.Options options = new BitmapFactory.Options();

            if (mCalculatedSizes.ContainsKey(drawableID))
            {
                options.InSampleSize = mCalculatedSizes[drawableID];
            }

            else
            {
                options.InJustDecodeBounds = true;

                BitmapFactory.DecodeResource(mResource, drawableID, options);

                options.InSampleSize       = Cheeses.CalculateInSampleSize(options, 100, 100);
                options.InJustDecodeBounds = false;

                mCalculatedSizes.Add(drawableID, options.InSampleSize);
            }


            var bitMap = await BitmapFactory.DecodeResourceAsync(mResource, drawableID, options);

            simpleHolder.mImageView.SetImageBitmap(bitMap);
        }
예제 #2
0
 public AddItemViewModel(Menu menu, IList <Cheese> cheeses)
 {
     foreach (var cheese in cheeses)
     {
         Cheeses.Add(new SelectListItem
         {
             Value = cheese.ID.ToString(),
             Text  = cheese.Name
         });
     }
     Menu = menu;
 }
        public AddMenuItemViewModel(Menu menu, List <Cheese> cheeses) : this()
        {
            Menu = menu;

            foreach (Cheese cheese in cheeses)
            {
                Cheeses.Add(new SelectListItem
                {
                    Value = cheese.ID.ToString(),
                    Text  = cheese.Name.ToString()
                });
            }
        }
예제 #4
0
        private async Task ExecuteSearchCheesesCommand(string s)
        {
            try {
                SearchCheesesCommand.ChangeCanExecute();

                var searchedCheese = await _dataService.SearchCheeseAsync(s.ToString());

                Cheeses.Clear();

                foreach (var cheese in searchedCheese)
                {
                    Cheeses.Add(cheese);
                }
            } catch (NoInternetException) {
                await Page.DisplayAlert("No Internet!", "Cannot Access The Internet!", "Darn!");
            } finally {
                SearchCheesesCommand.ChangeCanExecute();
            }
        }
예제 #5
0
        private async Task ExecuteGetRecentCheesesCommand()
        {
            try {
                GetRecentCheesesCommand.ChangeCanExecute();

                var recentCheese = await _dataService.GetRecentCheesesAsync();

                Cheeses.Clear();

                foreach (var cheese in recentCheese)
                {
                    Cheeses.Add(cheese);
                }
            } catch (NoInternetException) {
                await Page.DisplayAlert("No Internet!", "Cannot Access The Internet!", "Darn!");
            } finally {
                GetRecentCheesesCommand.ChangeCanExecute();
            }
        }