Autore Topic: Cancellazione oggetti creati dinamicamente  (Letto 491 volte)

Offline topperharley

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Cancellazione oggetti creati dinamicamente
« il: 24 Novembre 2012, 12:56:42 CET »
0
Buongiorno a tutti,
sono nuovissimo del forum e alle prime armi in programmazione java android..vi chiedo di portare un po di pazienza se scrivo castronerie!!!  :D

Sto cercando di realizzare un'app che mi permetta, tramite la pressione di un pulsante "aggiungi", di inserire dinamicamente un nuovo bottone e fin qui tutto bene. I nuovi bottoni hanno a loro volta applicato un Listenter che ne effettua la loro stessa cancellazione, ma il mio problema è identificare univocamente il bottone premuto..
Per darvi un esempio pratico immaginate la scheda di un contatto nella rubrica dove posso aggiungere più numeri di telefono sullo stesso contatto premendo il bottone + che crea una nuova edittext ed il relativo bottone - per la cancellazione della stessa riga.

Questa è la porzione di codice che si preoccupa della creazione e di loggare l'id di ogni bottone:

Codice (Java): [Seleziona]
public void aggiungiCampi(){
    TableLayout t = (TableLayout) findViewById(R.id.tableLayout1);
     i++;
     b = new Button (this);
     b.setText("n." + i);
     b.setId(i);
     b.setOnClickListener(new OnClickListener() {
               
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                       
                        String id = Integer.toString(b.getId());
                        Log.v("log.........", id);
                                               
                }
        });
        t.addView(b);
}

supponiamo che aggiunga 3 bottoni, in questo modo se premo qualsiasi dei 3 bottoni mi viene loggato sempre l'id n.3 e di conseguenza se implemento il codice per la rimozione della View riesco ad eliminare solo l'ultimo bottone creato...

Sono sicuro che mi sono incartato su una cavolata ma vi giuro che sto diventando matto!!!!  o_O

Vi ringrazio in anticipo per l'attenzione

Offline topperharley

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Re:Cancellazione oggetti creati dinamicamente
« Risposta #1 il: 25 Novembre 2012, 16:46:00 CET »
0
Risolto aggiungendo la dichiarazione del Bottone (final Button b;) direttamente all'interno del metodo aggiungiCampi() invece che come variabile di classe.
Non è stata una mia illuminazione ma una gran dritta di dr4agone che ringrazio.