2011-12-29 26 views
28

Estoy usando isEnabled en mi BaseAdapter de ListView y controlando en qué filas se puede hacer clic. Sin embargo, deseo desactivar el evento de clic para mi encabezado e isEnabled no funciona. La posición 0 apunta a la primera fila, por lo tanto no puedo controlar el clic del encabezado.Android ListView Header Disable Haga clic en

Por otro lado, cuando agrego un encabezado usando addHeaderView dando argumentos (encabezado, nulo, falso), funciona pero los separadores faltan de esa manera. ¿Cómo puedo gestionar esto?

¿Hay alguien que conozca este problema?

Respuesta

83

Puede usar addHeaderView(header, null, false). Para el encabezado, infle una vista que tenga su contenido de encabezado con un divisor debajo. Esta vista es lo que usé para el divisor.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:background="#adaaad" /> 
+43

Uso de addHeaderView (ver, nulo, falso) trabajado. addHeaderView (ver) aparentemente está predeterminado a "seleccionable". –

+1

Esto puede eliminar los separadores de elementos de la lista; consulte http://stackoverflow.com/questions/14367278/issue-with-addheaderview-and-missing-list-separator/14368524#14368524 Si desea que todos los elementos de la lista de vista y el encabezado no se puedan seleccionar , puede establecer 'code'listView.setSelector (android.R.color.transparent);' code'. Esto mantendrá los separadores. –

+3

Es una vieja pregunta, pero me gustaría señalar que en algunos dispositivos el valor predeterminado es seleccionable y en la otra mayoría no seleccionable. Entonces es bueno usar siempre el método de los tres argumentos. –