¿Cómo anidar ListView en ScrollView?
A continuación explicaré, analizaré y resumiré desde cuatro aspectos: las razones para usar la estructura ListView anidada de ScrollView, los problemas encontrados en la estructura, varias soluciones y la comparación de ventajas y desventajas.
De hecho, no es solo ListView, sino también otras clases heredadas de AbsListView, incluidas ExpandableListView, GridView, etc. Para facilitar la explicación, a continuación se utiliza ListView.
I. ¿Por qué utilizar la estructura peculiar de ScrollView para anidar ListView?
ScrollView y ListView son estructuras de desplazamiento. Como sugieren los nombres, las funciones de estos dos controles en la interfaz de usuario son. Lo mismo, pero mire el diseño a continuación:
Esta es la página de confirmación del pedido de Tmall Mall. ScrollView está anidado en ExpandableListView. Hay una cantidad fija de controles en ExpandableListView y una cantidad fija de controles en la parte inferior. Se puede desplazar todo el ExpandableListView. Los datos de la lista deben anidarse dentro de datos fijos y desplazarse juntos como un todo. Bajo este requisito de diseño, apareció la extraña estructura de ListView anidado de ScrollView.
2. Problemas encontrados en estructuras anidadas de ScrollView y ListView
Sin más preámbulos, veamos los ejemplos de fallos:
lt;
android: id="@ id/act_solution_1_sv"
android: layout_width="fill_parent"
android: layout_height="fill_parent"gt;
lt; LinearLayout
android:
android: layout_width="fill_parent"
android: layout_height="wrap_content"
android: orientación ="vertical"gt
lt; TextView
android: layout_width="fill_parent"
android: layout_height="wrap_content"
android:text="/nListView datos principales\n"