dbWrite.delete(NoteDb.TABLE_NAME_NOTES, NoteDb.COLUMN_NAME_ID+"=?", new String[]{index+""});
检查一下里面的ID是否正确。

解决方案 »

  1.   

    删除完之后界面上还有 但是已经更新啦界面 再点删除就会挂掉程序 index是点击的那个
      

  2.   

    index是长按点击的时候那个position
      

  3.   

    怎么更新的?notifyDataSetChanged?
      

  4.   

    这个有两种思路。
    1、删除listview中的值,然后删除数据库中的值。优点是性能好,缺点是有不同步的风险
    2、删除数据库中的值,然后重新查询数据库,刷新listview,优点是数据准确,缺点是性能稍差于1
      

  5.   

    Toast.makeText(getApplicationContext(), "删除"+index, 0).show();
    listview.removeViewAt(index);
    你更新界面是用这个代码吗?
    这个是移除listView的子view  如果你的cursor没有变 它还是会重新生成的。
    数据库中的数据是否删除。
    正常应该是 cursor 更新 adapter。notify。
      

  6.   

    你没有adapter。notifyDataSetChanged
      

  7.   

    我是在Handler里面notifyDataSetChanged的private Handler handler = new Handler() {
    public void handleMessage(Message msg) {
    // adapter.notifyDataSetChanged();
    refreshNoteListView(); };
    };
    public void refreshNoteListView() { adapter.changeCursor(dbread.query(NoteDb.TABLE_NAME_NOTES, null, null,
    null, null, null, null));
    }