2010-03-12 9 views
6

Im ottenendo un valore -1 quando provo a ottenere la posizione dell'elemento selezionato nella mia listview già popolata.Android: Visualizza elenco Elemento selezionato -1

list.setOnItemClickListener 
(
    new AdapterView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView adapterView, View view,int arg2, long arg3) 
     { 
      int selectedPosition = adapterView.getSelectedItemPosition(); 
      ShowAlert(String.valueOf(selectedPosition)); 
     } 
    } 
); 

per riempire il mio visualizzazione elenco io uso il seguente codice:

SimpleAdapter mSchedule = new SimpleAdapter(
      this, 
      mylist, 
      R.layout.listviewtest, 
      new String[] {"test1", "test2", "test3"}, 
      new int[] {R.id.TextView_websitename, R.id.TextView_keywords, R.id.TextView_backlink}); 

Qualche idea?

Grazie in anticipo.

I migliori saluti.

Jose.

risposta

22

Ciò significa che non è stata selezionata alcuna riga. Il documentation afferma che getSelectedItemPosition() rendimenti:

int posizione (a partire da 0), o INVALID_POSITION se non c'è niente selezionato.

E INVALID_POSITION è -1.

Nota che chiami getSelectedItemPosition() da un OnClickListener. Il clic e la selezione non sono necessariamente correlati. La selezione viene dall'uso del D-pad o trackball per navigare nei contenuti dell'elenco. Se l'utente tocca lo schermo (o fa clic nell'emulatore), non ci sarà più alcuna selezione, ma ci sarà comunque un evento click.

Il valore arg2 visualizzato è la posizione dell'elemento su cui si fa clic nell'elenco.

+0

Risposta incredibile, è stato molto molto utile, grazie mille. Saluti. Jose. – Sosi

Problemi correlati