Ho ripreso il codice di J-Communicator:
public void cancella(String etichetta, String categoria){ SQLiteDatabase db=this.getWritableDatabase(); db.delete("tabella", "etichetta = '"+etichetta+"' and categoria='"+categoria+"'", null); }Ecco: dopo la "rituale" apertura del database, si usa il metodo delete che prende come parametri la tabella e i criteri del record da cancellare, quindi il null che probabilmente è riferito a un array di strings.
Vediamo la documentazione...
int delete (String table, String whereClause, String[] whereArgs)Sì, è la whereClause, ossia le clausole per il record da cancellare.
Ora provo ad aggiungere a bindView l'aggiunta di un listener al button.
Ho terminato tutto il lavoro su bindView, e mi devo concentrare un po' su di essa.
@Override public void bindView(View view, Context context, Cursor cursor) { TextView textView=(TextView)view.findViewById(R.id.textView); final TextView textView2=(TextView)view.findViewById(R.id.textView2); Button button=(Button)view.findViewById(R.id.button2); textView.setText(cursor.getString(cursor.getColumnIndexOrThrow("voce"))); textView2.setText(""+cursor.getInt(cursor.getColumnIndexOrThrow("_id"))); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { helper.cancella(Integer.parseInt(textView2.getText().toString())); myCursorAdapter.getCursor().requery(); } }); }L'aggiunta di un listener va per il meglio. Ho creato anche il codice che cancella un record in relazione all'id.
Ho avuto un po' di difficoltà per il refresh della listView, ma con il requery() ho risolto.
Nessun commento:
Posta un commento