Xamarin.Android Gridview Изменение и сохранение значений ячеек
Приложение сбора заказов в стиле excell листа. Все работает с 2d прокруткой на экране до момента заполнения ячеек. При скроллинге исчезают введенные значения. Вот код адаптера с остатками моих попыток:
public class OrderAdapter : BaseAdapter
{
private Activity activity;
private List<Order> orders;
public OrderAdapter(Activity activity, List<Order> orders) : base()
{ this.activity = activity; this.orders = orders; }
public override int Count
{ get { return orders.Count; } }
public override Java.Lang.Object GetItem(int position)
{ return orders[position]; }
public override long GetItemId(int position)
{ return 0; }
public void Refresh(List<Order> orders)
{
this.orders = orders;
NotifyDataSetChanged();
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
View view = convertView;
if (view == null)
view = activity.LayoutInflater.Inflate(Resource.Layout.oList_item, parent, false);
TextView codeView = (TextView)view.FindViewById<TextView>(Resource.Id.Code);
TextView nameView = (TextView)view.FindViewById<TextView>(Resource.Id.Name);
TextView unitView = (TextView)view.FindViewById<TextView>(Resource.Id.Unit);
TextView priceView = (TextView)view.FindViewById<TextView>(Resource.Id.Price);
EditText quantityView = (EditText)view.FindViewById<EditText>(Resource.Id.Quantity);
var item = (Order)this.GetItem(position);
//quantityView.AfterTextChanged += delegate
//{
// //for (ii = 0; ii < orders.Count; ii++)
// // if (ii == position)
// // item.quantity = decimal.Parse(quantityView.Text);
//};
codeView.Text = item.code;
nameView.Text = item.name;
unitView.Text = item.unit;
priceView.Text = item.price.ToString("N2");
quantityView.Text = item.quantity.ToString("N0");
//view.SetTag(position, item);
return view;
}
//private void QuantityView_AfterTextChanged(object sender, Android.Text.AfterTextChangedEventArgs e)
//{
//Refresh(orders);
//}
}
Понимаю, надо передавать новые данные на источник. Буду благодарен, если поможете!