0

我需要更改方法onListItemClick() 来删除列表中的项目.. 想法?我不知道如何使它适应我的课堂。我有一个 Db 类 I 和一个 Helper 类。

这是代码:

  Cursor cursor = db.rawQuery("select * from " + PRODUCT_TABLE, null);

        setListAdapter(new CursorAdapter(this, cursor, true) {

        @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent){

            TextView textView = new TextView(ProdottiSelectionActivity.this);
            return textView;
        }

        @Override
        public void bindView (View view, Context context, Cursor cursor){

            TextView textView = (TextView) view;
            textView.append(cursor.getString(1));
            textView.append("\n");
            textView.append(cursor.getString(2));
            textView.append("\n");
            textView.append(cursor.getString(3));
            textView.append("\n");
            textView.append(cursor.getString(4));
            }
        });
    }

@Override
protected void onDestroy(){
    super.onDestroy();
    dbHelper.close();
    }

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    setResult(1, new Intent(String.valueOf(id)));
    finish();
}
4

2 回答 2

1

您将需要以下内容

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    db.open();
    //you have to determine user clicked on which item 
    String[] whereArgs={String.valueOf(item_id)};
    db.delete(DATABASE_TABLE_4,"item_id = ?",whereArgs);    
    cursor.requery();  //deprecated 
    adapter.notifyDataSetChanged(); //deprecated 
    db.close();
}
于 2012-06-12T14:26:42.780 回答
0

在数据库上运行删除查询,这也会更新列表视图。

db.execSQL("delete from " + PRODUCT_TABLE + " where id = 1", null);

例如,如果您想删除 id = 1 的产品,或者您也可以使用delete 方法

另请参阅问题

这与您的问题相似。

于 2012-06-12T14:21:57.327 回答