Autore Topic: recuperare il valore de position o long id  (Letto 871 volte)

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
recuperare il valore de position o long id
« il: 28 Febbraio 2011, 18:07:18 CET »
0
Buongiorno a tutti,
non riesco a capturare il valore de la position in un OnItemClick .
La idea é riempire un ListView con su Adaptador( i dati del Listview sono presi da un DB) clickar sul Item del listview y  pasar il parametro a un´altra Activity dove visualizo i dettagli della ficha selecionata.
Evidentemente ho bisogno di estrapolare il valore del Item del listview per poter fare un querry  con parametro.
Dove sbaglio:
Codice (Java): [Seleziona]
public void onItemClick(AdapterView<?> parent, View view,
                                                        int position, long id) {
                       
                         Intent detalle = new Intent(lista.this, detalle.class);
                         detalle.putExtra("parametroB",list.getItemAtPosition(position).toString());                                     
                                 startActivity(detalle);
                 finish();
                                        }      
                        }      
                );
Una mano per piacere
Un saluto
« Ultima modifica: 28 Febbraio 2011, 20:15:19 CET da Spagna »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:recuperare il valore de position o long id
« Risposta #1 il: 28 Febbraio 2011, 18:42:40 CET »
0
Aspetta, non sono pratico di spagnolo,ma se non ho capito male te vuoi passare ad un'altra activity dei dati che stanno in un particolare elemento della listview.
non capisco che problema hai, in teoria quello che fai è giusto, cioè ti da l'oggetto che sta in posizione position sotto forma di stringa..
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:recuperare il valore de position o long id
« Risposta #2 il: 28 Febbraio 2011, 18:52:44 CET »
0
Scusami per il mio italiano sono 20 anni que non lo scrivo piu
il problema é que mi passa un parametro con questa stringa "android:sqlite etc.." non mi da il valore del listview
un saluto

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:recuperare il valore de position o long id
« Risposta #3 il: 28 Febbraio 2011, 20:12:05 CET »
0
il parametro me lo manda pero é strano:
ti allego un archivo cosi puoi vedere che cosa sucede

un saluto

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:recuperare il valore de position o long id
« Risposta #4 il: 28 Febbraio 2011, 20:39:08 CET »
+1
il parametro me lo manda pero é strano:
ti allego un archivo cosi puoi vedere che cosa sucede

un saluto
no non ti preoccupare, non era una critica al tuo italiano ma al fatto che io non conoscendo lo spagnolo non ero sicuro di aver capito bene, ed invece ho capito giusto!
allora, in teoria te quando fai:
list.getItemAtPosition(position)
ottieni un riferimento al cursor, da li in teoria devi prenderti fuori i dati, però non ho ancora capito se ottieni il cursor o i dati di quella riga... prova a fare:
Cursor c = (cursor) list.getItemAtPosition(position);
e vedi a fare c.size() o c.getCount() e i vari metodi di Cursor cosa ti danno!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:recuperare il valore de position o long id
« Risposta #5 il: 28 Febbraio 2011, 21:18:03 CET »
0
Grazie Nicola,
ho cambiato il codice e ho utilizato i cursori:
ti scrivo il codice corretto cosi puó essere utile a qualcuno:
Codice (Java): [Seleziona]
public void onItemClick(AdapterView<?> parent, View view,
                                                        int position, long id) {
               

                         Intent detalle = new Intent(lista.this, detalle.class);
                         //detalle.putExtra("parametroB",list.items.get(position).toString());
                         Cursor cursor = (Cursor) list.getItemAtPosition(position);
                         //System.out.println(cursor.getString(2));
                         detalle.putExtra("parametroA",cursor.getString(0));
                         detalle.putExtra("parametroB",cursor.getString(1));
                         detalle.putExtra("parametroC",cursor.getString(2));
                         detalle.putExtra("parametroD",cursor.getString(3));
                         detalle.putExtra("parametroE",cursor.getString(4));
                                 startActivity(detalle);
                                 finish();
                                        }      
                        }      
                );
Grazie di nuovo e alla prossima volta
ho mille dubbi al giorno
un saluto
claudio

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:recuperare il valore de position o long id
« Risposta #6 il: 28 Febbraio 2011, 23:37:04 CET »
0
Grazie Nicola,
ho cambiato il codice e ho utilizato i cursori:
ti scrivo il codice corretto cosi puó essere utile a qualcuno:
Codice (Java): [Seleziona]
public void onItemClick(AdapterView<?> parent, View view,
                                                        int position, long id) {
               

                         Intent detalle = new Intent(lista.this, detalle.class);
                         //detalle.putExtra("parametroB",list.items.get(position).toString());
                         Cursor cursor = (Cursor) list.getItemAtPosition(position);
                         //System.out.println(cursor.getString(2));
                         detalle.putExtra("parametroA",cursor.getString(0));
                         detalle.putExtra("parametroB",cursor.getString(1));
                         detalle.putExtra("parametroC",cursor.getString(2));
                         detalle.putExtra("parametroD",cursor.getString(3));
                         detalle.putExtra("parametroE",cursor.getString(4));
                                 startActivity(detalle);
                                 finish();
                                        }      
                        }      
                );
Grazie di nuovo e alla prossima volta
ho mille dubbi al giorno
un saluto
claudio

sono contento di averti aiutato, il forum serve a questo!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia