【发布时间】:2013-11-12 13:12:13
【问题描述】:
我有一个切换按钮,选中时将数据保存到 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”,但这不起作用。我的问题类似于this,但我没有使用光标。
如何从列表视图中删除最后一条记录?
【问题讨论】:
-
当你试图删除最后一条记录时,这个函数
deleteSingleBookmark会返回什么? -
试试这个,返回 (int) db.delete(BOOKMARKS_TABLE, BOOKMARK_NAME + "='" + bookmarkHost2 + "'", null) >
-
@SSS 返回一个 db 记录
-
@ImtiyazKhalani 您的代码使应用程序崩溃
-
@User210282 如果行被删除,您的 db.delete() 方法将返回已删除的行 id,否则将返回 0。所以尝试将 db.delete() 方法的返回值打印到知道它是否被删除。
标签: android android-listview android-sqlite sql-delete