Elimina elemento dal database – ListView – Android

public class DataViewActivity extends Activity{ SQLiteDatabase db; SimpleCursorAdapter adapter; String dbTable = "users"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview_layout); ListView listView = (ListView) findViewById(R.id.dbPop); DBHelper dbhelper = new DBHelper(DataViewActivity.this); db = dbhelper.getWritableDatabase(); Cursor cursor = db.query(dbTable, null, null, null, null, null, null); startManagingCursor(cursor); String[] from = new String[] { "name","_id"}; int[] to = new int[] { android.R.id.text1 }; adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to); listView.setAdapter(adapter); } } 

Come implementare l'ascoltatore onClick a questo codice per eliminare la row del database selezionata. Non so molto di Android per cui per me è una curva di apprendimento.

  • Come rimuovere correttamente l'imbottitura (o il margine?) Intorno ai pulsanti in Android?
  • Android: Come misurare l'altezza totale di ListView
  • Custom getFilter in ArrayAdapter personalizzato in android
  • SSLException dovuto l'articolo di caricamento per il servizio Amazon
  • Android: ottieni l'elenco di amici di facebook
  • Cambia l'icona del cassetto di navigazione
  • Android BOOT_COMPLETED non ricevuto quando l'applicazione è chiusa
  • Come posso implementare una tastiera soft speciale
  • creare json in android
  • Elenca le applicazioni installate / in esecuzione in android in modo programmato
  • Evitando manualmente le modifiche di configuration
  • Android onTouch con onClick e onLongClick
  • 3 Solutions collect form web for “Elimina elemento dal database – ListView – Android”

    impostare setOnItemClickListener al tuo listview …

     listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { database.remove(id);//create removemethod in database class } }); 

    e nel metodo di rimozione

      public void remove(long id){ String string =String.valueOf(id); database.execSQL("DELETE FROM favorite WHERE _id = '" + string + "'"); } 
      listview.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View v, int pos,long id) { // TODO Auto-generated method stub { TextView tv=(TextView)v; String s1=tv.getText().toString(); //delete row String delgrp="DELETE FROM (tablename) WHERE (row)='"+s1+"'"; sdb.execSQL(delgrp); } 

    ListView.onListItemClick , come terzo parametro ha position . Position è la voce restituita da Adpater.getItem(int) . Quindi quando si fa clic su una row del ListView , il ListView.onListItemClick viene spento. Qui è ansible recuperare la voce Adapter e utilizzare le informazioni necessarie per eliminare la voce dal database.

     public void onListItemClick(ListView parent, View v, int position, long id) { // do something with the cursor } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.