Когда я пытаюсь удалить элемент в списке, он не обновляет список. Я последовал и прочитал некоторые подобные вопросы здесь, в stackoverflow, но у меня не было никаких результатов. Не могли бы вы мне помочь?Android: не удается обновить мой список
У меня есть активность Вер, где у меня есть метод onResume():
public class Ver_DespesasActivity extends ActionBarActivity {
private ListView listView ;
private ArrayAdapter dataAdapter;
private DatabaseHelper databaseHelper ;
private List<Despesa> despesas;
ArrayList<Despesa>items;
MyAdapter adapter;
(...)
@Override
public void onResume() {
super.onResume();
databaseHelper= new DatabaseHelper(this.getApplicationContext());
Gasto gasto = databaseHelper.getGasto();
String mes = gasto.getMes();
int ano = gasto.getAno();
items.clear();
items.addAll(databaseHelper.getAllDespesas(mes, ano));
adapter.refresh(items);
}
Тогда у меня есть класс MyAdapter, где у меня есть метод обновления():
public class MyAdapter extends BaseAdapter implements ListAdapter {
private ArrayList<Despesa> list = new ArrayList<Despesa>();
private Context context;
(...)
public void refresh(ArrayList<Despesa> list)
{
this.list = list;
this.notifyDataSetChanged();
}
MyAdapterConstructor:
public MyAdapter(ArrayList list, Context context) {
this.list = list;
this.context = context;
}
Обновление: Я не знаю, если это важно, я не использую list.remove, чтобы удалить элементы моего списка, у меня есть метод, чтобы это сделать.
Вы можете просто тест цели изменить эту строку, 'личного список ArrayList = новый ArrayList ();' 'с личным списком ArrayList ;' и тестировать свой код? Поскольку я сомневаюсь, что ваш «список» только что создан, он не ссылается на «элемент». –
user370305
@ user370305 такой же результат: \ – porthfind
Если вы не создаете новый экземпляр 'private ArrayList list', используя' new' и ссылаясь на 'items' (поскольку элементы ArrayList очищены и снова добавлены новые записи). Тогда он должен работать. –
user370305