private void listData() {
SimpleCursorAdapter list = new SimpleCursorAdapter(
this,
R.layout.wordsee_row,
cursor,
new String[] {DBAdapter.KEY_LANG,DBAdapter.KEY_WORD_TH, DBAdapter.KEY_WORD, DBAdapter.KEY_WORD_READING},
new int[] {R.id.lang, R.id.th_word, R.id.word, R.id.reading});
setListAdapter(list);
db.close();
}
每个列表上面的包含4个项目(id.lang,id.th_word,id.word,id.reading)
我希望通过使用主键(KEY_WORD_SEE_ID)将其删除,就像这样
case DELETE_ID:{
db.open();
db.deleteRecord(DBAdapter.WORDS_SEE_TABLE,DBAdapter.KEY_WORD_SEE_ID,cursor.getLong(cursor.getColumnIndexOrThrow(DBAdapter.KEY_WORD_SEE_ID)));
Toast.makeText(getBaseContext(), getString(R.string.save_data), Toast.LENGTH_LONG).show() ;
setBinding();
listData();
return true;
}
这是我的删除功能
public boolean deleteRecord(String tableName, String indicatorName,
long rowId) {
return db.delete(tableName, indicatorName + "=" + rowId, null) > 0;
}
但它不起作用且没有强制关闭
我该怎么办?
答案 0 :(得分:0)
在光标上使用requery .. 喜欢这个cursor.requery();(从DB中删除项目后) 这将更新列表,删除项目... 如果这不起作用,请发布完整描述..