Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android listview删除数据但不更新listview_Android_Android Studio_Listview - Fatal编程技术网

Android 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});

我删除了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});

    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中的。