Autore Topic: prelevare dati da una listview, come nel caso di piu' elementi per riga?  (Letto 690 volte)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Ciao a tutti,

Ho una listivew che mi visualizza 3 informazioni per riga.

Quando clicco su una riga e faccio questo

Codice: [Seleziona]
@Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
                super.onListItemClick(l, v, position, id);
           

                String selectedTitle = l.getItemAtPosition(position).toString();
..

mi visualizza tutta la riga selezionata. Come e' possibile ricevere per esempio solo la terza colonna? Terza colonna generata da

Codice: [Seleziona]
<TextView android:id="@+id/kmName" 
         android:text="@+id/kmName"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"  />

tks

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:prelevare dati da una listview, come nel caso di piu' elementi per riga?
« Risposta #1 il: 27 Maggio 2011, 14:00:05 CEST »
0
Puoi usare la position per accedere al rispettivo elemento della base dati (arraylist?).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:prelevare dati da una listview, come nel caso di piu' elementi per riga?
« Risposta #2 il: 27 Maggio 2011, 14:09:22 CEST »
0
Ma la position si riferisce alla posizione della lista non della row.  :-\ ???

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:prelevare dati da una listview, come nel caso di piu' elementi per riga?
« Risposta #3 il: 27 Maggio 2011, 14:20:01 CEST »
0
Puoi usare la position per accedere al rispettivo elemento della base dati (arraylist?).

Forse ho capito cosa intendi, ma devo convertire questa in un array di stringhe.
Codice: [Seleziona]
String selectedTitle = l.getItemAtPosition(position).toString();

o forse l'oggetto "l.getItemAtPosition(position)" in un array di stringhe

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:prelevare dati da una listview, come nel caso di piu' elementi per riga?
« Risposta #4 il: 27 Maggio 2011, 14:22:42 CEST »
0
Ma la position si riferisce alla posizione della lista non della row.  :-\ ???

Intendevo dire che: tu vuoi estrarre il contenuto di una certa colonna passando dalla view che la visualizza, mentre potrebbe essere più semplice non passare dalla visualizzazione, ma andare direttamente alla fonte del dato che viene visualizzato. Dico potrebbe perchè dipende dalla tua implementazione. Se la fonte dei dati è un arraylist, allora viene bene.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:prelevare dati da una listview, come nel caso di piu' elementi per riga?
« Risposta #5 il: 27 Maggio 2011, 14:28:55 CEST »
0
Ottimo grazie.

Alla fine ho risolto con

Codice: [Seleziona]
TextView title = (TextView) v.findViewById(R.id.kmName);     
            String deviceName = (String) title.getText();