Visualizzazione stampabile
-
ListView
Scusate sono nuovo di Android, ma vengo da una lunga esperienza di programmazione in VB .NET...
La mia domanda è questa: ho creato una ListView Custom con 2 rige. In ogni riga ho una textView con una descrizione fissa, ed una con un valore che recupero da un Database. Vorrei che cliccando su un elemento della ListView, sapere il valore di una delle due TextView valorizzate a programma. Come posso fare??
Ho messo il setOnClickItemListner, ma non riesco a capire come recuperare il valore.
Questo è il codice:
ArrayAdapter<CustomItem> aa;
aa = creaArrayAdapter();
listViewTipoSpesa.setAdapter(aa);
listViewTipoSpesa.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
iCodice= 0;
lanciaGestione();
}
});
Dovrei valorizzare il campo iCodice con il testo che si trova in una delle 2 TextView valorizzate a programma.
Grazie in anticipo per l'aiuto
-
Quote:
Originariamente inviato da
alexfratini
Scusate sono nuovo di Android, ma vengo da una lunga esperienza di programmazione in VB .NET...
La mia domanda è questa: ho creato una ListView Custom con 2 rige. In ogni riga ho una textView con una descrizione fissa, ed una con un valore che recupero da un Database. Vorrei che cliccando su un elemento della ListView, sapere il valore di una delle due TextView valorizzate a programma. Come posso fare??
Ho messo il setOnClickItemListner, ma non riesco a capire come recuperare il valore.
Questo è il codice:
ArrayAdapter<CustomItem> aa;
aa = creaArrayAdapter();
listViewTipoSpesa.setAdapter(aa);
listViewTipoSpesa.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
iCodice= 0;
lanciaGestione();
}
});
Dovrei valorizzare il campo iCodice con il testo che si trova in una delle 2 TextView valorizzate a programma.
Grazie in anticipo per l'aiuto
Hai addirittura 3 modi per farlo ;)
Questo è il tuo listener:
1) puoi usare v che è la view da cui è partito il click, ti basta fare v.findViewById(idDiQualchecosa) per recuperare qualsiasi altro oggetto hai messo nella View (tipo il testo di una label, di un bottone, ecc)
2) position, è la posizione nel tuo adapter, ovvero ArrayAdapter<CustomItem> aa, quindi puoi semplicemente fare aa[position] per ottenere un riferimento al tuo CustomItem (piazza l'adapter come variabile dentro la tua activity, in modo da accedervi ovunque)
3) id, è un long che contiene l'id dell'oggetto premuto... se hai popolato il tuo adapter con dei dati provenienti da un db, se aggiungi una colonna _ID (mi pare ci voglia l'underscore (_) davanti, non ne sono sicuro in questo istante...) in automatico ti verrà restituito questo id quando premi l'item, in modo così da usarlo per eventuali altre select e/o operazioni sul db (inserimenti, cancellazioni, ecc...)
Tutto chiaro? ;)
-
Ok, funziona con il secondo sistema sicuramente.... Il primo mi ha dato problemi... Il terzo, oramai ho fatto tutto il DB, ed è tutto caricato, non l'ho provato.
Grazie mille...