2013-05-02 76 views
0

我想从我的数据库删除一行。 我使用这种方法:Android的 - 删除一行SQL和列表视图中的项目

public void deletePlayerbyID(int id){mDb.delete(SQLITE_TABLE, KEY_ROWID +"="+id, null); }

称为活动:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) { 
       return onLongListItemClick(v,pos,id); 
     } 
     protected boolean onLongListItemClick(View v, final int pos, long id) { 

       AlertDialog.Builder builder = new AlertDialog.Builder(AndroidListViewCursorAdaptorActivity.this); 
        builder.setMessage("Are you sure to delete?").setCancelable(false).setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) {bdHelper.open(); 
           dbHelper.deletePlayerbyID(pos); 
           Log.i("ListView", "onLongListItemClick id=" + pos); 
           displayListView(); 
          } 
         }) 

为什么我无法从ListView中删除选定的行?我有一个方法,删除所有数据库,它的工作。

+0

后后删除通话notifyDataSetChanged()在你的适配器上刷新listview – Raghunandan 2013-05-02 13:25:57

回答

0

在从listView适配器正在使用的数据源中删除一个元素后,请致电adapter.notifyDataSetChanged()并且视图将刷新以反映删除。

1

试试下面的语句,你就能够解决问题

db.delete("Table","TITLE=?",new String[]{title}); 

adapter = new EntryAdapter(this, items); 
     listview.setAdapter(adapter); 
     adapter.notifyDataSetChanged(); 
0

使用notifyDataSetChanged(后)删除

protected boolean onLongListItemClick(View v, final int pos, long id) { 

       AlertDialog.Builder builder = new AlertDialog.Builder(AndroidListViewCursorAdaptorActivity.this); 
        builder.setMessage("Are you sure to delete?").setCancelable(false).setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) {bdHelper.open(); 
           dbHelper.deletePlayerbyID(pos); 
           Log.i("ListView", "onLongListItemClick id=" + pos); 
    notifyDataSetChanged(); 
           displayListView(); 
          } 
         }) 
+0

是不是这种问题,因为用另一种方法(删除“名称”而不是“id”)作品。我跟着这个啧啧http://www.mysamplecode.com/2012/07/android-listview- CursorAdapter的-sqlite.html – TommyR22 2013-05-02 13:46:10

相关问题