Пытаюсь реализовать удаление элементов списка по нажатии кнопки в этом же элементе. По факту в массиве удаляется нужный элемент, но выполнение команды NotifyDataSetChanged();которая по идее обновляет список удаляется последний элемент списка независимо от удаленного элемента. Почему так?Кто нибудь сталкивался?
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
Button btnDelete;
if (view == null)
{
view = context.LayoutInflater.Inflate(Resource.Layout.item_view, null);
view.FindViewById<TextView>(Resource.Id.textView1).Text = item.title;
btnDelete = view.FindViewById<Button>(Resource.Id.button2);
btnDelete.Click += (sender, args) =>
{
items.RemoveAt(position);
NotifyDataSetChanged();
};
}
return view;
}
посмотрите лучше в сторону RecyclerView. по сути это тот же listview
но более оптимизирован. + заставляет реализовывать viewholder
что уже избавляет от ряда проблем.
зы recyclerview clickevent
@Yura Ivanov спасибо. Разобрался как добавлять теги и нашел пример с удалением и добавление события. Вот этот код начал нормально удалять.
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
Button btnDelete;
if (view == null)
{
view = context.LayoutInflater.Inflate(Resource.Layout.item_view, null);
}
view.FindViewById<TextView>(Resource.Id.textView1).Text = item.title;
btnDelete = view.FindViewById<Button>(Resource.Id.button2);
btnDelete.SetTag(Resource.Id.button2, position);
btnDelete.Click -= MyClickEvent;
btnDelete.Click += MyClickEvent;
return view;
}
void MyClickEvent(object sender, EventArgs e)
{
int i = (int)((Button)sender).GetTag(Resource.Id.button2);
items.RemoveAt(i);
NotifyDataSetChanged();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Даны два точечных заряда q1 и q2, расположенные на расстоянии d друг от другаНаписать программу, вычисляющую силу их взаимного притяжения
Здравствуйтепытаю в VS15 работать с mongoDB, для этого скачал MongoDB
Есть такая задача: добавить переменную secretCode в строку такого типа OBR|1| Источник//001011//A1100