我删除了SQLi中的数据,但listview没有更新。我必须打开活动agian,然后listview才会更新。
这是函数删除数据。
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();
}
这是OnCreate中的函数OnItemClick。
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);
}
});
}
删除数据后如何更新列表视图?
答案 0 :(得分:1)
我删除了SQLi中的数据,但
ListView
未更新。我必须再次打开活动,然后ListView
会更新。
是的,通常是从SQLite中删除项目,而不是从ListView
中删除项目。
删除数据后如何更新
ListView
?
您可以重新创建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();
}