JavascriptProva

sabato 5 novembre 2016

Ripasso del delete di un record dal database, requery per refreshare la listView costruita con il CursorAdapter

Ripasso la cancellazione di un record di database.
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