OnItemClickListener no funcionó con la casilla de verificación?

Tengo una disposición del artículo como esto, y fijo el fondo usando el selector del artículo

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="fill_parent" android:background="@drawable/itemselector" android:orientation="horizontal" > <CheckBox android:id="@+id/message_row_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/message_row_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Title" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:textColor="@color/black" /> 

Itemselector.xml:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/yellow" /> <item android:state_selected="true" android:drawable="@color/green" /> <item android:drawable="@color/white" /> </selector> 

Tengo un ListView que contendrá algunos artículos. Entonces utilicé setOnItemClickListener () pero no funciona. Encontré que si quito la casilla de verificación en el artículo, todo será okey.

¿Cuál fue el problema entre la casilla de verificación y el oyente? ¿Me puede dar una solución?

Actualización: Este es el código de escucha

 mainListView.setAdapter(messageAdapter); mainListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Message p = (Message) arg0.getItemAtPosition(arg2); Toast.makeText(TarsiusActivity.this, p.getTitle(), Toast.LENGTH_LONG); Log.i("Item Clicked", p.getTitle()); } }); 

Ps: Quiero hacer la bandeja de entrada como gmail en android. Cada fila tiene una casilla de verificación y el usuario puede hacer clic en el elemento si desea ver el mensaje

El onItemClickListener para el listView no funcionará si tiene cualquier clic como botones, ImageButton, Checkbox, etc en el listView. Añadir

 mainListView.setItemsCanFocus(true); 

¿Se refiere ListView OnItemClickListener no responde?

La mejor manera de hacer esto es establecer estas siguientes propiedades para su casilla de verificación:

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

Tuve un mismo problema y lo hice.

Solo agrega

android:descendantFocusability="blocksDescendants"

A su nivel superior LinearLayout del listitem.

Puede agregar este código dentro de su método OnItemClickListener :

 public void onItemClick(AdapterView parent, View view, int position, long id){ CheckBox box = (CheckBox)view.findViewById(R.id.course_search_checkbox); box.setChecked(true); } 

Use setOnCheckedChangeListener lugar de onItemClickListne r para la casilla de verificación

 CheckBox check; check=new CheckBox(this); check.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub } }); 
  • Cómo obtener el ID de las casillas de verificación en el elemento de vista de lista expandida?
  • Cómo actualizar el contenido de una sola fila en mi ListView utilizando OnItemClick
  • Proceso de verificación de números móviles de Android
  • Cómo establecer la casilla de verificación en el lado derecho del texto
  • Desarrollo de Android: Checkbox setChecked no funciona
  • Android: ¿Cómo cambiar el tamaño de CheckBox?
  • Cómo obtener los elementos de la lista seleccionada de un Listview con checkBox y Adaptador personalizado?
  • Eliminación de la "casilla" de la casilla de verificación en Android
  • Cambiar el valor de la casilla de verificación sin activar onCheckChanged
  • ¿Cómo acceder a la marca de verificación en el sistema operativo Android?
  • Cómo mostrar las casillas de verificación pre verificadas en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.