问题

我的书"Hello Android"给出了一种使用自定义db帮助器,设置光标,然后设置适配器的方法,如下所示:

Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
        cursor = getData();
        showData(cursor);
} finally {
        test.close();
}

然而,随着我需要刷新数据集,我需要继续运行这个代码块(由于"this"不可用,因此在onClick()中有一些困难). p> 这是刷新数据集的最佳方法,还是应该去除.close并发出一个adapter.notifyDataSetChanged()?如果我这样做,有时我得到一个力量(当时我不记得了),但有时它不能正确删除 - 我认为这可能是因为数据库当前是打开的,它会尝试再次打开. p> 我们还应该为Class中的Cursors,DatabaseHelpers和Adapter(OnCreate外部)声明变量,以便所有函数都可以访问它们.

我意识到这只是在这个阶段糟糕的编程,但是我试图得到一些关于最好的做事方式的指针.



解决方法

您应该使用 adapter.notifyDataSetChanged()< / code> .当您使用该日志时,会显示什么?




相关问题推荐