Я удаляю данные в SQLi, но список не обновляется. Мне нужно открыть активность, после чего список обновится.
Это функция удаления данных.
private void delData(int position) {
cursor.moveToPosition(position);
String rowId = cursor.getString(0);
db.delete(DBHelper.TABLE_NAME, "_id = ?", new String[]{rowId});
cursor.requery();
adapter.notifyDataSetChanged();
}
Это функция OnItemClick в OnCreate.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_driver);
dbHelper = new DBHelper(DriverActivity.this);
lv_driver=(ListView)findViewById(R.id.lv_driver);
lv_driver.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
delData(i);
}
});
}
Как обновить список после удаления данных?
I delete data in SQLi but
ListViewnot update. I have to open activity again thenListViewwill update.
Да, это нормально, что вы удаляете элемент из SQLite, а не со своего ListView.
How to update
ListViewafter delete data ?
Вы можете воссоздать ListView или просто удалить свой элемент adapter.remove(position);
Пример :
private void delData(int position) {
cursor.moveToPosition(position);
String rowId = cursor.getString(0);
db.delete(DBHelper.TABLE_NAME, "_id = ?", new String[]{rowId});
cursor.requery();
adapter.remove(position);
adapter.notifyDataSetChanged();
}
Спасибо. Мне нужно удалить в List <Map <String, String >> lst.
Вы должны удалить данные даже из базы данных вашего списка.