Autore Topic: lettura elemento listview -1  (Letto 625 volte)

Offline tascabile

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
lettura elemento listview -1
« il: 22 Ottobre 2012, 12:22:29 CEST »
0
Salve ragazzi, ho un piccolo problema, sicuramente di base teorica che mi sta venendo meno. Ho la mia bella ListView popolata, al momento che cerco di ottenere l'ID dell'elemento selezionato (perchè poi mi interesserebbe tramite ID ottenere il testo che c'è nell'elemento selezionato) mi restituisce -1 ovvero valore null. Dove sbaglio??

Codice (Java): [Seleziona]
 
        ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,risultati);
        lista.setAdapter(adapter);
       
        lista.setChoiceMode(1);
        lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                int passaggio_birra =  lista.getCheckedItemPosition() ;
                       
       

                        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                        long arg3) {
                               
                                intent_birra=new Intent(getApplicationContext(), visualizza_risultato.class);                                  
                                 
                                  String pkg;
                                  String passaggio = ""+passaggio_birra;
                                         pkg=getPackageName();
                                        intent_birra.putExtra(pkg+".pass_birra", passaggio);
                                        System.err.println("selezionato "+passaggio);
                                        database2.close();
                                            startActivity(intent_birra);
                               
                        }

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:lettura elemento listview -1
« Risposta #1 il: 22 Ottobre 2012, 12:49:38 CEST »
+1
Codice (Java): [Seleziona]
int passaggio_birra =  lista.getCheckedItemPosition();Tu hai messo questo codice quando imposti il listener. In quel momento, verosimilmente, non c'é niente di selezionato nella ListView, quindi il risultato é -1.
Devi metterlo nell'onItemClick se vuoi ricavare la posizione al momento del click sull'item.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline tascabile

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
Re:lettura elemento listview -1
« Risposta #2 il: 22 Ottobre 2012, 13:08:07 CEST »
0
errore stupidissimo ora che lo noto, e per ottenere la stringa contenuta in un elemento della list view??
Ovvero la mia lista è del tipo

PIPPO
PAPERINO
PLUTO
TOPOLINO

io ho pensato prima di ottenere l'id dell'elemnto selezionato per poi passarlo ad un'ipotetica funzione che mi avrebbe restituito la stringa Pluto ad esempio

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:lettura elemento listview -1
« Risposta #3 il: 22 Ottobre 2012, 18:43:08 CEST »
0
O la ricavi dalla sorgente dati oppure la prendi dal layout della singola riga.
Codice (Java): [Seleziona]
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)arg1 é la View che rappresenta la riga. In una ListView senza layout personalizzato arg1 é una TextView da cui puoi recuperare il testo.
Postate il LogCat LogCat LogCat LogCat LogCat