0

我有一个切换按钮,选中时将数据保存到 SQLite 表,未选中时从表中删除数据。我正在从同一个表中填充一个列表视图。因此,当我取消选中切换按钮时,可以一一删除记录,除了最后一条记录,它显示在列表视图中。

但是当我检查切换按钮以插入新记录时,列表视图中的最后一条记录被新记录替换。

下面是切换按钮代码

if(bookmark.isChecked()){
                // Insert record
                }
        }else{
                dbAdapter.write();
                dbAdapter.deleteSingleBookmark(urlHost1);
                dbAdapter.close();
               }

Sqlite 代码

public boolean deleteSingleBookmark(String bookmarkHost2) throws SQLException{
    return (int) db.delete(BOOKMARKS_TABLE, BOOKMARK_NAME + "=?", new String[] { bookmarkHost2 }) > 0;
}

我在 deleteSingleBookmark 方法中尝试了“>=0”,但这不起作用。我的问题与类似,但没有使用光标。

如何从列表视图中删除最后一条记录?

4

2 回答 2

1

您需要使用您为 ListView 提供的 ListViewAdapter 中的数据进行操作。从适配器中删除所需的数据并调用方法:

yourAdapter.notifyDataSetChanged();
于 2013-11-12T13:24:29.843 回答
0

尝试

public boolean deleteSingleBookmark(String bookmarkHost2) throws SQLException{
    return (int) db.delete(BOOKMARKS_TABLE, BOOKMARK_NAME + "="+bookmarkHost2, null) > 0;
}
于 2013-11-12T13:21:28.003 回答