Android: clickable = "true" significa que no se puede hacer clic?

Tengo un ListView con algunas secciones personalizadas en él. Cada sección tiene su propia vista de encabezado. Quiero que los elementos de la lista se puedan hacer clic, pero, obviamente, no quiero que los encabezados de sección se puedan hacer clic. Así que en el xml para los encabezados de sección he añadido android:clickable="false" .

Al depurar noté que los encabezados de sección seguían respondiendo a mi setOnItemClickListener() . Entonces intenté fijar android:clickable="true" en el XML. Y por supuesto, las vistas de cabecera de sección ya no responden a los clics …

Entonces, ¿cuál es el trato aquí? ¿Por qué es que la configuración clickable = true diciéndole que no se puede hacer clic? ¿Estoy malentendiendo algo aquí? Aquí está mi XML:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/black" android:background="@android:color/transparent" android:textAppearance="?android:attr/textAppearanceLarge" android:paddingLeft="30dp" android:clickable="true" /> 

Si establezco que clickable="false" en la parte inferior, esta vista comienza a responder a la setOnItemClickListener()

Cuando se establece OnItemClickListener , el evento onItemClicked sólo se llamará si el hijo de ListView no tiene el conjunto OnClickListener . La configuración de clickable a true proporcionará la vista secundaria (en este caso, su TextView ) con OnClickListener vacío. Dado que TextView de OnClickListener se establece, OnItemClickListener no se llamará.

Creo que no deberías escribir android:clickable="true" cuando era un niño de la vista del elemento de la lista. Si usted tiene un selector para el listitem , sólo setbackground en la etiqueta raíz.

  • Cómo registrar un valor entero con log.d?
  • Java.lang.NoClassDefFoundError mientras ejecuta la prueba JUnit en Netbeans
  • Generic OR en lugar de AND <T extends Number | CharSequence>
  • Realización de solicitudes POST autenticadas con Spring RestTemplate para Android
  • ¿Qué sucede cuando mi actividad se destruye cuando estoy usando IntentService con ResultReceiver
  • Plataforma cruzada Java? Android y escritorio
  • ¿Cómo buscar la cadena entera para una palabra específica?
  • Android captura nueva llamada saliente
  • Android: ¿Cómo importar el contacto desde el teléfono?
  • Eliminar objetos duplicados de un ArrayList en Android
  • Recibir un valor de cadena en MainActivity de SecondActivity y luego contarlo hacia abajo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.