我正在开发一个应用程序来开发我的知识到目前为止我创建了一个日历应用程序,用户可以在点击日期时预约。然后我有一个删除按钮,打开在新活动中创建的所有约会,我有:列表视图显示所有约会,文本视图显示所选约会(由用户选择删除)和按钮删除。删除按钮从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;
}
谢谢你
}
答案 0 :(得分:3)
也许不是最优雅的,但我没有在onCreate()中构建我的UI。相反,在onCreate()中,我调用另一个方法initializeUI(),这就是我构建用户界面的地方。然后,每当我做一些应该在界面中反映的内容(更新数据库或其他)时,我只需要再次调用我的方法initializeUI()。
编辑:同时查看适配器的notifyDataSetChanged()作为exampled here
答案 1 :(得分:1)
首先检查您的数据库是否可写(getWritableDatabase)
然后检查您的“TABLE_NAME”实际上是表名。
然后你可以尝试使用execSQL(“delete from”+ TABLE_NAME);
如果不起作用,您可以尝试关闭数据库。
最后尝试将其放入交易中 的BeginTransaction(); ..删除.. endTransaction()方法;
答案 2 :(得分:1)
如果您实际上正在更改ListView中使用的适配器中的数据,则可以在用于填充适配器的游标上使用requery()方法。这应该反映你的变化!