Autore Topic: Listview, click su button  (Letto 470 volte)

Offline jack_rooney

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Listview, click su button
« il: 24 Gennaio 2014, 10:42:00 CET »
0
Salve a tutti!
sto cercando senza successo di recuperare i valori all'interno della riga di una Listview, quando clicco sul bottone della riga in questione.

Codice (Java): [Seleziona]
public class ArticoliAdapter01 extends ArrayAdapter<Listilsf>{

  TextView car;

  public View getView(final int position, View convertView, ViewGroup parent) {
 
        car = (TextView)convertView.findViewById(R.id.textView02);
       
         //Click sul bottone
        ImageButton btn = (ImageButton)convertView.findViewById(R.id.qta_add);
        btn.setOnClickListener(new OnClickListener() {

              public void onClick(View v) {
             
                       String $car = car.getText().toString();
                       System.out.println($car );
             
               }
        });
 

    return convertView;
  }

}

a questo punto mi aspetto che al click sul bottone io riesca ad agganciare la relativa riga ed i valori contenuti nei campi a video.
ma visualizzo sempre lo stesso valore (ovvero l'ultimo caricato) e non il valore contenuto nella riga su cui clicco il bottone..

Offline ciccio

  • Utente junior
  • **
  • Post: 65
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Francesco Cervone
  • Sistema operativo:
    Mac OS X 10.9
Re:Listview, click su button
« Risposta #1 il: 24 Gennaio 2014, 13:04:02 CET »
0
Il problema è che hai definito "TextView car" come attributo dell'istanza di ArticoliAdapter. Quindi quella variabile sarà sempre aggiornata all'ultima riga inserita.
Dichiara la TextView come variabile locale e final nella funzione getView e tutto sarà risolto.

Codice (Java): [Seleziona]
final TextView car = (TextView)convertView.findViewById(R.id.textView02);