OnItemClickListener no funciona con el elemento ListView que contiene el botón

Tengo ListView con el Adapter encargo que proporciona View a ListView de esta manera:

  public View getView(int position, View convertView, ViewGroup parent) { RelativeLayout.LayoutParams lineParams; RelativeLayout line=new RelativeLayout(context); TextView tv=new TextView(context); tv.setText("Text in postion="+i); lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lineParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); line.addView(tv, lineParams); lineParams.addRule(RelativeLayout.CENTER_IN_PARENT); //checkbox CheckBox checkBox=new CheckBox(context); lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lineParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); lineParams.addRule(RelativeLayout.CENTER_IN_PARENT); line.addView(checkBox, lineParams); return line; } 

Y en algún lugar dentro de ListView hay setOnItemClickListener() , que debe interceptar el elemento haciendo clic en eventos. Mi problema que, siempre que intento agregar la casilla de verificación al artículo – no consigo ninguna responces de mi ListView . Si salto CheckBox o cualquier otro Button funciona.

Estoy realmente atascado con este problema, he intentado todo tipo de diseños, alineación, envoltura y así sucesivamente – inútil. Parece que CheckBox interfiere los eventos de clic de elemento ListView .

Cualquier idea de cómo superar?

Simplemente añada esta línea a las vistas de elemento en lugar de listView

 android:focusable="false" 

Compruebe más detalles sobre esto desde Android ListView personalizado no puede hacer clic en los elementos

También he hecho frente al mismo problema que he intentado fijar android:focusable="false" a la lista pero no trabaja entonces agrego esto al artículo del listview. Como en mi artículo del listview que he uesed Botón del Toggle que creaba el problema , Agrego android:focusable="false" al botón de Toggle y listview en el listener del tecleo del artículo comienzo trabajo otra vez

Si tiene ImageButtons dentro del elemento de lista, debe agregar:

 android:descendantFocusability="blocksDescendants" 

Al elemento elemento de lista raíz [como el diseño raíz].

A continuación, dentro de cada ImageButton en el elemento de lista, debe agregar:

 android:focusableInTouchMode="true" 

Esto funcionó para mí, pero yo estaba usando ImageButtons, no el botón estándar.

También había tenido el problema de un botón en mi ListView. Desafortunadamente, simplemente configurar el enfoque a false para todos los objetos de mi adaptador no funcionó para mí.

Ahora tengo una solución.

En su adaptador, cree un OnClickListener para el botón (u otro objeto que se puede hacer clic) si aún no lo ha hecho. En ese OnClickListener usted llama a OnItemClickListener usted mismo.

 public void onClick(View v) { mOnItemClickListener.setOnItemClick(mListView, v, vPos, vId); } 

Significa que necesitará dar acceso a su adaptador tanto a ListView padre como OnItemClickListener.

Añade la siguiente línea a tu listaVer

 android:choiceMode="singleChoice" 

O asegúrese de establecer las siguientes líneas en los campos de texto de diseño

 android:focusable="false" android:focusableInTouchMode="false" android:clickable="false" 

Puede considerar escribir su OnTouchEvent en su elemento listview y enviar el touchEvent adecuado a su vista de niño, el botón.

Si utiliza ListView en Activity , asegúrese de que tiene setOnItemClickListener()

 myListView.setOnItemClickListener(this); // if your activity implement OnItemClickListener 
  • Cómo abrir diferentes actividades al hacer clic en los elementos del cajón de navegación?
  • Android onItemClickListener no funciona (No se pueden enfocar en el código)
  • OnItemClickListener con adaptador personalizado y listview
  • OnItemClickListener no funciona correctamente cuando el adaptador contiene un botón con onClickListener
  • OnItemClickListener (), cómo pasar los datos del elemento pulsado?
  • Realizar onClickListener en ImageView en GridView
  • No se puede obtener gridView en el elemento de escucha de clics
  • ListView con TextView autoLink no recibe OnItemClickListener
  • Selected Item of Autocomplete Textview Mostrar como simple Textview?
  • Android Gridview y el botón OnItemclick
  • Setvisibility (view.visible) no funciona después de setvisibility (view.gone)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.