Android usa ListView para establecer el atributo "android: clickable =" false "en el control, y aún no hay devolución de llamada cuando se hace clic en el elemento.

        Cuando use ListView para desarrollar una lista, use

mListView.setOnItemClickListener (nuevo AdapterView.OnItemClickListener () { 
}

Después de hacer clic en el método, no hay evento de clic de devolución de llamada;

la razón:

Un control en el que se puede hacer clic en el elemento de la lista de elementos obtiene el foco, y se le da prioridad al derecho de procesamiento del clic;

Solución:

1. Agregue las siguientes propiedades a los controles en el elemento de la lista

android: focusableInTouchMode = "falso"

android: clickable = "falso"

android: focusable = "falso"

 2. Agregue las siguientes propiedades bajo el control raíz en el archivo de diseño ListItem para que los controles secundarios no se enfoquen:

atributo descenddantFocusability

3. Cuando hay un control personalizado en ListItem, generalmente el control personalizado es un control combinado. Cuando el control personalizado está configurado para no estar enfocado, los controles internos que componen el control personalizado, como Button, aún pueden Para obtener el enfoque, debe establecer el atributo en el que no se puede hacer clic en el código

myButton.setClickable (falso);

Supongo que te gusta

Origin blog.csdn.net/weixin_42433094/article/details/110771687
Recomendado
Clasificación