1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android listview刷新数据库 android – 如何在数据库更改后刷新ListView?

android listview刷新数据库 android – 如何在数据库更改后刷新ListView?

时间:2021-04-14 00:27:47

相关推荐

android listview刷新数据库 android – 如何在数据库更改后刷新ListView?

我试图在

Android应用程序中管理一个简单的列表.列表的内容保存在SQLite数据库中.当用户选择并保留特定行时,将出现带有“删除”选项的上下文菜单.当他们选择“删除”时,该行将从数据库中删除,但视图不会刷新.当我退出应用程序并重新进入时,相应的行已被删除.所以,我知道该行被删除,它只是不刷新的ListView.

以下是代码的相关部分……

在onCreate方法中……

SQLiteDatabase db = tasks.getReadableDatabase();

Cursor cursor = db.query(TABLE_NAME,

new String[] { _ID, TITLE, DETAILS, },

null, null, null, null, TITLE + " DESC");

startManagingCursor(cursor);

ListView lv = (ListView) findViewById(R.id.list);

lv.setAdapter(new SimpleCursorAdapter(this,

android.R.layout.simple_list_item_1,

cursor,

new String[] {TITLE},

new int[] { android.R.id.text1}

));

在onContextItemSelected方法中……

switch(item.getItemId()) {

case 0:

SQLiteDatabase db = tasks.getWritableDatabase();

ListView lv = (ListView) findViewById(R.id.list);

SimpleCursorAdapter adapter = (SimpleCursorAdapter) lv.getAdapter();

db.delete(TABLE_NAME, "_ID=?", new String[] {adapter.getCursor().getString(0)});

adapter.notifyDataSetChanged(); // Not working, clears screen and doesn't reload

return true;

}

return super.onContextItemSelected(item);

我错过了什么?

谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。