リストビューから行を削除しようとしています。[削除]をクリックすると、行が削除されます。ただし、ListViewは更新に失敗します。アイテムが削除されたことを確認するには、戻るボタンをクリックして戻ってくる必要があります。アイテムが削除された後、ページを更新する方法はありますか?これが私のコードです:
public class OrderHistoryAdapter : BaseAdapter
{
private List<Order> _orders;
private Activity _context;
public OrderHistoryAdapter(Activity context, List<Order> orders)
{
_context = context;
_orders = orders;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = _orders.ElementAt(position);
var view = (convertView ??
this._context.LayoutInflater.Inflate(
Resource.Layout.OrderHistoryDetailsRow,
parent,
false)) as RelativeLayout;
TextView orderHistoryText = view.FindViewById<TextView>(Resource.Id.orderHistoryText);
orderHistoryText.Text = ((Order)item).Date.ToShortDateString();
view.FindViewById<TextView>(Resource.Id.btnDeleteOrder).Click += delegate
{
OrderRepository orderRepo = new OrderRepository();
orderRepo.Delete(((Order)item).Id);
//Item has been deleted, yet list fails to update
NotifyDataSetChanged();
};
//Finally return the view
return view;
}
public override int Count
{
get { return _orders.Count(); }
}
public Order GetOrder(int position)
{
return _orders.ElementAt(position);
}
public override Java.Lang.Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return position;
}
}