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 に答える