cómo hacer que LinearLayout pueda desplazarse sin utilizar Scrollview

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/bag" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" > <RelativeLayout android:id="@+id/relativeLayout2" style="@style/relbag" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView style="@style/CodeFont" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="25dp" android:layout_marginTop="18dp" android:textSize="15dp" android:text="General Preference" android:id="@+id/genpref"> </TextView> <ListView android:id="@+id/settingsListView1" style="@style/listbag" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:background="@drawable/radius" android:listSelector="@drawable/list_selector" android:paddingTop="8dip" android:paddingBottom="8dip" android:scrollbars="none" android:layout_below="@id/genpref"/> <TextView style="@style/CodeFont" android:id="@+id/notpref" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="25dp" android:layout_marginTop="25dp" android:textSize="15dp" android:text="Notification Preference" android:layout_below="@id/settingsListView1"> </TextView> <ListView style="@style/listbag" android:id="@+id/settingsListView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:layout_marginBottom="15dip" android:background="@drawable/radius" android:paddingLeft="5dip" android:paddingRight="5dip" android:paddingTop="15dip" android:paddingBottom="15dip" android:listSelector="@drawable/list_selector" android:layout_below="@id/notpref" android:scrollbars="none" /> </RelativeLayout> </LinearLayout> 

introduzca la descripción de la imagen aquí

En mi aplicación quiero crear dos listview en linearlayout y hacer linearlayout desplazable no usar ScrollView. Por lo que he leído scrollview tiene problemas trabajando con listview. Esta imagen no es exactamente lo que quiero, pero vamos a fingir que hay otra lista a continuación de listview. Así que quiero mostrar listview todos los elementos disponibles (en los elementos de mi aplicación 2 listview) y hacer LinearLayout desplazable. ScrollView no va bien porque tiene que tener sólo un hijo directo. No puedo encontrar la solución. Así que por favor ayúdame a hacer una solución, gracias

No creo que sea una buena idea para poner múltiples listas en una sola pantalla toque becoz se convertirá en extraño y el uso de la pantalla se convertirá en complejo. Usted debe pensar en otra cosa para mostrar varias listas en una sola pantalla. Usted puede organizar horizontalmente varias listas en un single screen.Romain Guy (desarrollador de Google) también está aceptando este hecho en el siguiente enlace ….

http://groups.google.com/group/android-developers/browse_thread/thread/77acd4e54120b777

Espero que esta respuesta le ayudará a resolver su problema ur.

Utilice un LinearLayout como un niño a ScrollView y coloque el ListView como un niño en el LinearLayout.

Yo thnk aquí es su solución ,,

no es necesario utilizar ScrollView en LinearLayout .

Utilice el layout_weight en las vistas de los niños (en su caso, ambos listview) de su LinearLayout

Como el layout_weight no está disponible en RelativeLayout , debe cambiarlo con LinearLayout .

usted puede hacer como siguiendo,

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/bag" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/relativeLayout2" style="@style/relbag" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView style="@style/CodeFont" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="25dp" android:layout_marginTop="18dp" android:textSize="15dp" android:text="General Preference" android:id="@+id/genpref"> </TextView> <ListView android:id="@+id/settingsListView1" style="@style/listbag" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:background="@drawable/radius" android:listSelector="@drawable/list_selector" android:paddingTop="8dip" android:paddingBottom="8dip"/> <TextView style="@style/CodeFont" android:id="@+id/notpref" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="25dp" android:layout_marginTop="25dp" android:textSize="15dp" android:text="Notification Preference"> </TextView> <ListView style="@style/listbag" android:id="@+id/settingsListView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:layout_marginBottom="15dip" android:background="@drawable/radius" android:paddingLeft="5dip" android:paddingRight="5dip" android:paddingTop="15dip" android:paddingBottom="15dip" android:listSelector="@drawable/list_selector"/> </LinearLayout> </LinearLayout> 

Cambiar su xml con arriba .. no había probado por lo que puede ser un error tonto de params que se puede resolver fácilmente ..

usé esto y me ayudó

 ListAdapter listAdapter = listView.getAdapter(); int rows = listAdapter.getCount(); int height = 60 * rows; // Insert the general cell height plus the dividers. ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = height; listView.setLayoutParams(params); listView.requestLayout(); 

espero que te ayude tambien

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.