Cómo superar este problema con el uso de más vistas de lista en un diseño

Estoy usando 4 vistas de lista en mi diseño y si uso la vista de desplazamiento, no puedo desplazarme a mi vista de lista. Si elimino scrollview en mi xml, la última lista se ha ocultado. ¿Como superar este problema?

Mi código va a continuación:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android"> 
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="42.0dip">
    <Button android:textSize="23.0dip" android:onClick="newtodo_Click" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="center" android:id="@id/btnNewTodo" android:background="@drawable/new_todo" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
<TextView android:textColor="#000000" android:layout_height="wrap_content" android:background="#FF0000" android:layout_width="match_parent" android:text="High Priority" android:id="@+id/textView1"></TextView>
<ListView android:id="@+id/lvhigh" android:cacheColorHint="#00000000" android:background="#000000" android:layout_width="match_parent" android:layout_height="175px"></ListView>
<TextView android:background="#ffff01" android:textColor="#000000" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Medium Priority" android:id="@+id/textView2"></TextView>
<ListView android:id="@+id/lvmed" android:layout_width="match_parent" android:layout_height="175px"></ListView>
<TextView android:background="#00ff01" android:textColor="#000000"  android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Low Priority" android:id="@+id/textView3"></TextView>
<ListView android:id="@+id/lvlow" android:layout_width="match_parent" android:layout_height="175px"></ListView>
<TextView android:background="#cccccc" android:textColor="#000000" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Incomplete Tasks" android:id="@+id/textView4"></TextView>
<ListView android:id="@+id/lvinc" android:layout_width="match_parent" android:layout_height="175px"></ListView>

</LinearLayout>
</ScrollView>

Cualquier ayuda es realmente apreciada y gracias de antemano ...

preguntado el 28 de septiembre de 11 a las 04:09

tal vez no debería usar wrap_content para la altura de cada vista de lista. ¿algo más pequeño todavía estaría bien? -

Creo que es simplemente un mal diseño, debería tener solo una vista de lista en su aplicación y un máximo de dos, pero tener 4 es una locura. No estoy seguro de si nuestra aplicación realmente puede transmitir mucha información al usuario con dicha interfaz. Por cierto, scrollView no funcionará si tiene una vista de lista. -

En lugar de ajustar el contenido, ¿es esta la forma correcta de dar valores en píxeles / dp? -

4 Respuestas

En su diseño hay vista de texto y después de esa vista de lista, entonces, ¿por qué no usó listVIew expandible? Le ayudará en su problema.

Este es un ejemplo de vista de lista expandible

Vista de lista expandible

Ejemplo de vista de lista expandible

Haz clic aquí

Haz clic aquí

contestado el 23 de mayo de 17 a las 14:05

Como soy nuevo en Android, estoy buscando la mejor manera ... ¿Hay algún enlace de referencia para usar la vista de lista expansible? - Pattabi Raman

Para superarlo, intente volver a factorizar su interfaz de usuario para que no incluya varios objetos desplazables dentro de otro objeto desplazable. Esto no será confiable y producirá resultados inesperados (como ha encontrado).

Como dijo the100rabh, este es generalmente un mal diseño. Normalmente, una aplicación presentará una lista de algún tipo a un usuario. Cuatro listas para una pantalla de 2-5 (~ 10 para tabletas) pulgadas son tres de más.

Respondido el 28 de Septiembre de 11 a las 08:09

por favor configure su vista de lista como un contenedor sin desplazamiento usando

ls_edu.setScrollContainer(false);

puede ser útil desplazarse por la vista de lista.

Respondido el 28 de Septiembre de 11 a las 09:09

Una solución sencilla es

  1. Eliminar ScrollView
  2. Establecer altura de todo ListView al 8
  3. Kit layout_weight propiedad de todos los hijos a 1

Respondido el 28 de Septiembre de 11 a las 09:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.