variable studio programacion method error cannot java android

java - studio - android: clickable="true" significa que no se puede hacer clic?



manual de programacion android pdf (2)

Tengo un ListView con algunas secciones personalizadas en él. Cada sección tiene su propia cabecera Ver. Quiero que se pueda hacer clic en los elementos de la lista, pero obviamente no quiero que se pueda hacer clic en los encabezados de las secciones. Así que en el xml para los encabezados de sección agregué android:clickable="false" .

Al realizar la depuración, observé que los encabezados de las secciones aún respondían a mi setOnItemClickListener() . Luego intenté configurar android:clickable="true" en el XML. Y, efectivamente, las vistas de encabezado de sección ya no responden a los clics ...

Entonces, ¿cuál es el trato aquí? ¿Por qué es esa configuración clickable = true diciendo que NO se puede hacer clic? ¿Estoy malinterpretando 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 configuro ese clickable="false" en la parte inferior, entonces esta vista comienza a responder al setOnItemClickListener() ...


Creo que no deberías escribir android:clickable="true" cuando era un elemento secundario de la vista de elemento de lista. Si tiene un selector para el elemento de lista, simplemente seleccione setbackground en la etiqueta raíz.


Cuando configura OnItemClickListener , solo se llamará al evento onItemClicked si el hijo de ListView no tiene el conjunto OnClickListener . Si se hace clic en verdadero, se proporcionará a la vista secundaria (en este caso, su TextView ) con un OnClickListener vacío. Dado que TextView de OnClickListener está configurado, no se llamará a OnItemClickListener .