Android listview删除数据但不更新listview
我删除了SQLi中的数据,但listview没有更新。我必须重新打开活动,然后listview将更新 这是删除数据的函数Android listview删除数据但不更新listview,android,android-studio,listview,Android,Android Studio,Listview,我删除了SQLi中的数据,但listview没有更新。我必须重新打开活动,然后listview将更新 这是删除数据的函数 private void delData(int position) { cursor.moveToPosition(position); String rowId = cursor.getString(0); db.delete(DBHelper.TABLE_NAME, "_id = ?", new String[]{rowId});
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);
}
});
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u驱动程序);
dbHelper=newdbhelper(DriverActivity.this);
lv_驱动程序=(ListView)findViewById(R.id.lv_驱动程序);
lv_driver.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
delData(i);
}
});
}
删除数据后如何更新listview
我删除了SQLi中的数据,但是ListView
没有更新。我必须再次打开“活动”,然后列表视图将更新
是的,从SQLite而不是从列表视图中删除项目是正常的
删除数据后如何更新列表视图
您可以重新创建列表视图
,或者只需删除项目适配器即可。删除(位置)代码>
例如:
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();
}
您甚至必须从列表的datasouece中删除数据。谢谢。我必须删除列表lst中的。