Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Java Android-sqlite全部删除_Java_Android_Eclipse_Sqlite - Fatal编程技术网

Java Android-sqlite全部删除

Java Android-sqlite全部删除,java,android,eclipse,sqlite,Java,Android,Eclipse,Sqlite,我正在开发一个应用程序来发展我的知识,到目前为止,我已经创建了一个日历应用程序,用户可以在点击日期时预约。然后,我有一个“删除”按钮,用于打开在“新活动”中创建的所有约会,我有:一个显示所有约会的列表视图一个显示所选约会(由用户选择删除)的文本视图和一个“删除”按钮。“删除”按钮将删除sqlite中的所有项,但我只能在应用程序重新启动时才能看到这一点。我知道我的代码中缺少了其他内容。。如何在清除listview的同时提供任何帮助将不胜感激 我的代码: 删除所有方法 public void del

我正在开发一个应用程序来发展我的知识,到目前为止,我已经创建了一个日历应用程序,用户可以在点击日期时预约。然后,我有一个“删除”按钮,用于打开在“新活动”中创建的所有约会,我有:一个显示所有约会的列表视图一个显示所选约会(由用户选择删除)的文本视图和一个“删除”按钮。“删除”按钮将删除sqlite中的所有项,但我只能在应用程序重新启动时才能看到这一点。我知道我的代码中缺少了其他内容。。如何在清除listview的同时提供任何帮助将不胜感激

我的代码:

删除所有方法

public void deleteAll() {

        db.delete(TABLE_NAME, null, null);
    }
按钮代码:

public void onClick(View v) {
    switch(v.getId()){

    case R.id.removeBtn:

        dm.deleteAll();

        break;
    }
多谢各位
}

首先检查数据库是否可写(getWritableDatabase)

然后检查“TABLE_NAME”是否就是表名

然后您可以尝试使用execSQL(“delete from”+TABLE_NAME)

如果不起作用,可以尝试关闭数据库

最后,尝试将其放入事务中 beginTransaction(); .. 删除。。
endTransaction()

也许不是最优雅的,但我没有在onCreate()中构建UI。相反,在onCreate()中,我调用另一个方法initializeUI(),这就是我构建用户界面的地方。然后,每当我做一些应该反映在接口中的事情(更新数据库或其他什么),我只需要再次调用我的方法initializeUI()


编辑:还可以查看适配器的notifyDataSetChanged(),例如

如果您实际上正在更改ListView中使用的适配器的数据,则可以在用于填充适配器的光标上使用requery()方法。这应该反映你的变化

您必须重新查询光标并用新的列表视图更新您的列表视图,所以“查看此工作”是指您没有看到删除的项目?或者您是否检查了数据库并
deleteAll()失败了吗?我尝试了这个{c.requery();},但它一直说游标失败了deprecated@yoshi只有当我重新启动iti时,它才会删除数据库,但不会更新屏幕。我尝试了此c.requery();但它总是说游标不受欢迎,我用什么来代替呢