0

チェックするとSQLiteテーブルにデータを保存し、チェックを外すとテーブルからデータを削除するトグルボタンがあります。そして、同じテーブルからリストビューを作成しています。そのため、トグル ボタンのチェックを外すと、リストビューに表示される最後のレコードを除いて、レコードを 1 つずつ削除できます。

しかし、トグルボタンをチェックして新しいレコードを挿入すると、リストビューの最後のレコードが新しいレコードに置き換えられます。

以下はトグルボタンのコードです

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

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 に答える