Я создал ListView элементов, каждый из которых выглядит следующим образом:
В упрощенном коде это выглядит так:
publi c класс MyBAdapter расширяет ArrayAdapter {
private static class ViewHolder {
public ImageButton ib_Delete;
public ToggleButton tb_Status;
}
public MyBAdapter(Context context, ArrayList<MyB> aB) {
super(context, 0, aB);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final MyB b = getItem(position);
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate( R.layout.item_b_myb, parent, false);
viewHolder.ib_DeleteB = convertView.findViewById( R.id.ib_DeleteB );
viewHolder.tb_Status = convertView.findViewById( R.id.tb_Status );
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
return convertView;
}
}
Теперь у меня было такое, когда пользователь нажимает ToggleButton
на кнопке x
, которую он удаляет этот элемент из списка и что представление будет обновляться на этом экране.
Как я могу это сделать?
Я видел, что для этого случая notifyDataSetChanged()
не будет работать.
В основном я пытаюсь обновить список sh, не вызывая снова действие.
Спасибо