eliminar un elemento de la vista de lista

Necesito cambiar el método onListItemClick() para eliminar los elementos de la lista... ¿ideas? No sé cómo adaptarlo a mi clase. Tengo una clase Db I y una clase auxiliar.

Aquí está el código:

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

preguntado el 12 de junio de 12 a las 15:06

2 Respuestas

Necesitarás algo como lo siguiente

@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();
}

Respondido el 12 de junio de 12 a las 15:06

Ejecute una consulta de eliminación en la base de datos, eso también actualizaría la vista de lista.

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

por ejemplo, si desea eliminar un producto con id = 1, o también puede usar el eliminar método.

También vea las preguntas

que son similares a su pregunta.

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.