2011-09-26 32 views
12

Estoy agregando algunas vistas Linearlayout en una vista de desplazamiento inflándolas dinámicamente. Establecí el fondo del LinearLayout agregado en una lista de selectores. Pero después de agregar a scrollview, cuando presiono la vista seleccionada, no muestra ningún efecto de la lista de selector. Los XMLs ejemplo que uso son: archivoandroid linearlayout background selector

Selector: selector_file

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/listbg" 
     android:state_pressed="true" /> 
<item android:drawable="@drawable/bgsmall"/> 
</selector> 

y estoy inflando la siguiente vista y añadiendo a L1 LinearLayout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/selector_file" 
android:gravity="center_vertical" 
> 
<ImageView android:id="@+id/image1" android:layout_width="100dip" android:layout_height="75dip"/> 
<TextView android:id="@+id/textitem" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000"></TextView> 
</LinearLayout> 

Y el ScrollView al que lo anterior se están agregando vistas infladas:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
> 

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 
    <LinearLayout android:id="@+id/l1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> 

</LinearLayout> 
</ScrollView> 
</LinearLayout> 

Any Idea ... ???

+0

¿Funciona si lo coloca fuera de la vista de desplazamiento? – blessenm

+0

Supongo que algunos controles en scrollview consumen el evento presionado para que su hijo LinearLayout no pueda tocarse. – anticafe

+1

En realidad estoy configurando el selector al fondo de Linearlayout. Si utilizo el mismo selector para un botón, funciona pero no para LinearLayout ... –

Respuesta

28

debe realizar los LinearLayout puede hacer clic.

android:clickable="true" 
+0

Muchas gracias, me perdí para establecer en el diseño relativo – Zoombie