Pregunta

Necesita ayuda para que el oyente funcione con mi ListView. Mi actividad es extender la actividad. Esto podría estar completamente mal. He estado mezclando y combinando. Cualquier ayuda sería increíble.

 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();
            }
         }); 
¿Fue útil?

Solución

Debe obtener la posición de la vista.

Esto se basa en que haya establecido un tipo para la lista (MyType), también requiere cualquier tipo que esté utilizando que haya anulado la toString ().

Esto funciona porque ListView puede devolver un ListItem en cualquier posición determinada, en su código que está usando Al, supongo que esto es para referirse a ArrayList, necesita pienso Para obtener el elemento en esa posición en 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();
       }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top