如何从列表项中删除项目?

时间:2011-02-17 14:14:34

标签: android listview

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;
}

但它不起作用且没有强制关闭

我该怎么办?

1 个答案:

答案 0 :(得分:0)

在光标上使用requery .. 喜欢这个cursor.requery();(从DB中删除项目后) 这将更新列表,删除项目... 如果这不起作用,请发布完整描述..