zprp/Controls/ProductsListViewAdapter.cs
2018-12-01 14:28:52 +01:00

67 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Eat.Models;
namespace Eat.Controls
{
class ProductsListViewAdapter : BaseAdapter<Product>
{
public List<Product> Products
{
get; set;
}
readonly private Context context;
public ProductsListViewAdapter(Context context, List<Product> items)
{
this.context = context;
Products = items;
}
public override int Count => Products.Count;
public override long GetItemId(int position)
{
return position;
}
public override Product this[int position] => Products[position];
public override View GetView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
if (row == null)
{
row = LayoutInflater.From(context).Inflate(Resource.Layout.products_row, null, false);
}
void FillTextView(int resourceId, string text, Android.Graphics.Color color)
{
var textView = row.FindViewById<TextView>(resourceId);
textView.Text = text;
textView.SetTextColor(color);
}
FillTextView(Resource.Id.products_row_name, Products[position].Name, new Android.Graphics.Color(10, 10, 10));
FillTextView(Resource.Id.products_row_kcal, Products[position].Kcal.ToString(), new Android.Graphics.Color(255, 255, 0));
FillTextView(Resource.Id.products_row_fat, Products[position].Fat.ToString(), new Android.Graphics.Color(255, 0, 255));
FillTextView(Resource.Id.products_row_carbs, Products[position].Carbs.ToString(), new Android.Graphics.Color(0, 255, 255));
FillTextView(Resource.Id.products_row_protein, Products[position].Protein.ToString(), new Android.Graphics.Color(100, 100, 20));
FillTextView(Resource.Id.products_row_cost, Products[position].Cost.ToString(), new Android.Graphics.Color(150, 150, 150));
return row;
}
}
}