ListView con OnItemClickListener android

Estoy usando un ListView personalizado con RatingBar y ImageButton . Este es mi problema: cuando hago clic en mi ListView , mi OnItemClickListener no está funcionando. Puede alguien ayudarme. Código:

 ListView lv = getListView(); setContentView(lv); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1,int position, long arg3) { Toast.makeText(SuggestionActivity.this, "" + position, Toast.LENGTH_SHORT).show(); } }); 

¡Gracias por adelantado!

Aunque es una pregunta muy antigua, pero todavía estoy publicando una respuesta para que pueda ayudar a alguien. Si está usando cualquier diseño dentro de la vista de lista, entonces use …

 android:descendantFocusability="blocksDescendants" 

… en el primer diseño principal dentro de la lista. Esto funciona como magia, el clic no será consumido por ningún elemento dentro de la lista, sino que irá directamente al elemento de la lista.

Oye, mira esto, funciona para mí … espero que te sirva también

Si el elemento de la lista contiene ImageButton

Problema: ¡ OnItemClickListener simplemente no responde en absoluto!

Motivo: ninguna idea

Solución: en el código, establezca el foco de ImageButton en “false”

1: ImageButton button = (ImageButton) convertView.findViewById(R.id.imageButton);

2: button.setFocusable(false);

Tengo una actividad que extiende ListActivity.

Intenté hacer algo como esto en onCreate:

 ListView listView = getListView(); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { Log.i("Hello!", "Y u no see me?"); } }); 

Pero eso no funcionó.

En cambio, simplemente necesitaba anular onListItemClick:

 @Override protected void onListItemClick(ListView l, View v, int position, long id) { Log.i("Hello!", "Clicked! YAY!"); } 

si la vista de elemento de lista contiene un botón o checkbox o imagen, el onitemclicklistener y onitemlongclicklistener no funcionan debido a que tiene su propio oyente onclick.

establecer enfocable como falso

 holder.button.setFocusable(false); 

Si desea habilitar el elemento, haga clic en vista de lista uso

 listitem.setClickable(false); 

esto puede parecer mal en primer lugar pero funciona!

1) Compruebe si está utilizando OnItemClickListener u OnClickListener (que no es compatible con ListView)
Documentación Android Desarrolladores ListView

2) Verifique si agregó Listener a su ListView correctamente. ¡Está enganchado a ListView no en ListAdapter!

 ListView.setOnItemClickListener(listener); 

3) Si necesita usar OnClickListener, verifique si usa DialogInterface.OnClickListener o View.OnClickListener (se pueden intercambiar fácilmente si no se validan o si se usan ambos)

Si define su ListView programáticamente:

 mListView.setDescendantFocusability(ListView.FOCUS_BLOCK_DESCENDANTS); 

También puede usar “lambda”, la syntax Lambda no es compatible con Java 1.7 o versiones anteriores de JVM.

  listView.setOnItemClickListener((parent, view, position, id) -> { }); 

setClickable como falso para ImageButton como esto

 imagebutton.setClickable(false); 

y luego realice OnItemClickListener a listview.

 listPaird = (ListView) findViewById(R.id.listView1); listPairdData = new ArrayList(); araPaird = new ArrayAdapter(this, android.R.layout.simple_list_item_1, listPairdData); listPaird.setAdapter(araPaird); listPaird.setOnItemClickListener(listPairdClickItem); private OnItemClickListener listPairdClickItem = new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { String info = ((TextView) arg1).getText().toString(); Toast.makeText(getBaseContext(), "Item "+info, Toast.LENGTH_LONG).show(); } }; 

En Java, como otros sugieren

 listitem.setClickable(false); 

O en xml:

 android:clickable="false" 

Funciona muy bien

¿Existe alguna imagen en la vista de lista que está utilizando? Luego, siga el enlace: http://vikaskanani.wordpress.com/2011/07/20/android-custom-image-gallery-with-checkbox-in-grid- seleccionar-múltiple /

Creo que cuando trabajes en el enlace que he proporcionado primero todo funcionará bien, lo he intentado. Si quieres una respuesta refinada, elabora la pregunta con código y descripción.

Solo inserta la línea en la Barra de Calificación:

 android:isIndicator="true" 

En XML, la barra de calificación se ve así.

  
 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub } }); 

Android OnItemClickLIstener entra en conflicto con OnClickListener de los elementos de la fila de listview en Adapter. Solo debe asegurarse de que su código esté bien administrado y escrito correctamente con estándares.

Verifique la respuesta en el enlace a continuación:

Hacer clic en la lista