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