Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué debo hacer si los datos no se muestran cuando pulltorefreshlistview está anidado en scrollview? 1. El diseño más simple: solo un ListView. Si toda la página tiene solo un ListView, debido a que el ListView en sí tiene un efecto de desplazamiento, cuando los datos cargados exceden el rango de visualización de la página, puede deslizarse hacia arriba. y hacia abajo para ver todas las entradas. Entonces, en este caso, no es necesario agregar ScrollView. 2. Otro diseño A ListView En este caso, si el diseño A se define delante de ListView, cuando el diseño A ocupa una proporción mayor o ListView carga más datos, la visualización de ListView estará incompleta. De manera similar, dado que el ListView en sí se puede desplazar, aún puede desplazarse hacia arriba y hacia abajo para ver todos los elementos de ListView: 3. Otro diseño B ListView En este caso, suponiendo que el diseño B está definido detrás de ListView, ocurrirán dos situaciones: (1) No hay muchos datos cargados en ListView y ListView puede mostrarlos por completo. ListView puede mostrar completamente cada elemento de ListView. Si hay suficiente espacio detrás de él, LayoutB se puede mostrar normalmente; (2) ListView carga más datos, lo que resultará en espacio insuficiente para LayoutB, o ningún espacio, y LayoutB puede hacerlo. mostrarse de forma incompleta o no mostrarse en absoluto. En cualquier caso, el contenido del propio ListView se puede visualizar deslizando. Para el tercer caso, si no reconsidera el diseño, debe agregar un ScrollView para ver el contenido restante de la página. 2. El conflicto entre ScrollView y ListView 1. Tome la altura especificada de ListView como ejemplo y configure android:layout_height="240dip", luego se puede resolver, pero puede afectar la apariencia. Como se muestra en la figura: 2. En este caso, si agrega un ScrollView afuera, ocurrirán problemas. Como se muestra en la figura: 3. Establezca atributos para ScrollView: android: fillViewport = "true" La prueba encontró que si ListView no carga muchos datos, de hecho se puede resolver, pero cuando ListView carga más datos, aún no puede se mostrará completo, y esto Ni el ListView ni el ListView en sí se pueden desplazar.

¿Qué debo hacer si los datos no se muestran cuando pulltorefreshlistview está anidado en scrollview? 1. El diseño más simple: solo un ListView. Si toda la página tiene solo un ListView, debido a que el ListView en sí tiene un efecto de desplazamiento, cuando los datos cargados exceden el rango de visualización de la página, puede deslizarse hacia arriba. y hacia abajo para ver todas las entradas. Entonces, en este caso, no es necesario agregar ScrollView. 2. Otro diseño A ListView En este caso, si el diseño A se define delante de ListView, cuando el diseño A ocupa una proporción mayor o ListView carga más datos, la visualización de ListView estará incompleta. De manera similar, dado que el ListView en sí se puede desplazar, aún puede desplazarse hacia arriba y hacia abajo para ver todos los elementos de ListView: 3. Otro diseño B ListView En este caso, suponiendo que el diseño B está definido detrás de ListView, ocurrirán dos situaciones: (1) No hay muchos datos cargados en ListView y ListView puede mostrarlos por completo. ListView puede mostrar completamente cada elemento de ListView. Si hay suficiente espacio detrás de él, LayoutB se puede mostrar normalmente; (2) ListView carga más datos, lo que resultará en espacio insuficiente para LayoutB, o ningún espacio, y LayoutB puede hacerlo. mostrarse de forma incompleta o no mostrarse en absoluto. En cualquier caso, el contenido del propio ListView se puede visualizar deslizando. Para el tercer caso, si no reconsidera el diseño, debe agregar un ScrollView para ver el contenido restante de la página. 2. El conflicto entre ScrollView y ListView 1. Tome la altura especificada de ListView como ejemplo y configure android:layout_height="240dip", luego se puede resolver, pero puede afectar la apariencia. Como se muestra en la figura: 2. En este caso, si agrega un ScrollView afuera, ocurrirán problemas. Como se muestra en la figura: 3. Establezca atributos para ScrollView: android: fillViewport = "true" La prueba encontró que si ListView no carga muchos datos, de hecho se puede resolver, pero cuando ListView carga más datos, aún no puede se mostrará completo, y esto Ni el ListView ni el ListView en sí se pueden desplazar.

3. Hay dos soluciones: 1. Al calcular la altura total de la vista de lista, establezca ListViewlistView = (ListView) findViewById (id); YourAdapteradapter = newMyAdapter ("Inicialice su adaptador"); listView) (Llame al método personalizado después de setAdapter) Copie el código de la siguiente manera: /***@parameter listView*/ privatevoidsetListViewHeightBasedOnChildren(ListViewlistView){ListAdapterlistAdapter=listView.getAdapter() if(listAdapter==null){ return; }inttotalHeight= 0;for(inti=0;igt;2, si no se establece, la configuración predeterminada del sistema es mostrar dos */publicvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){intexpandSpec=MeasureSpec.makeMeasureSpec(Integer.MAX_VALUEgt;gt;2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec);}} Lo anterior puede resolver el problema de incrustar listView en scrollView, pero existe el problema de que después de ingresar a la interfaz por primera vez para cargar dinámicamente los elementos de la vista de lista, el La página saltará al primer elemento del subelemento de la vista de lista, esto es muy doloroso, no puedo hacer nada y no sé cómo resolverlo, así que primero uso el código copiado de la siguiente manera: scrollView.scrollTo(0, 0); }})); este método se usa en exceso. Espero que los amigos que lo entiendan den su opinión. Solución 3. Utilice el método scrollView LinearLayout y addView ().