Domanda

Ho bisogno di aiuto per far funzionare l'ascoltatore con la mia lista di List. La mia attività sta estendendo l'attività. Questo potrebbe essere completamente sbagliato. Ho mescolato e abbinato. Qualsiasi aiuto sarebbe fantastico.

 lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {  
       public void onItemSelected(AdapterView<?> parentView, View childView, int position,             long id) {  
           Toast.makeText(getBaseContext(), "u clicked " +      al.get(position),Toast.LENGTH_LONG).show();
            }
         }); 
È stato utile?

Soluzione

Devi ottenere la posizione dalla vista.

Ciò si basa sul fatto che tu abbia impostato un tipo per l'elenco (myType), richiede anche qualsiasi tipo che stai usando ha superato il toString ().

Funziona perché ListView è in grado di restituire un ListItem in una determinata posizione, nel tuo codice che stai usando Al, immagino che questo si riferisca a ArrayList, è necessario Penso Per ottenere l'elemento in quella posizione in ListView. (LV)

lv.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
            /* cast should be safe as listview is of MyType */
            MyType mt = (MyType) lv.getItemAtPosition(position);
            StringBuffer prompt = new StringBuffer("You Clicked : ");
            prompt.append(mt.toString());
            Toast.makeText(getApplicationContext(), prompt, Toast.LENGTH_SHORT).show();
       }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top