Adición dinámica de vistas a RelativeLayout dentro de ScrollView

Estoy intentando agregar dinámicamente varios RelativeLayouts en un LinearLayout que está dentro de un RelativeLayout, que está dentro de un ScrollView. Cuando la altura total de todas las vistas excede el tamaño de la pantalla del teléfono, todas las vistas se muestran correctamente. Pero cuando el tamaño total de las vistas agregadas dinámicamente no es suficiente para llenar la pantalla, sólo se muestra el primer elemento RelativeLayout y los demás no se muestran en la pantalla. Estoy realmente sin esperanza y no entiendo por qué.

Aquí está el código para poblar dinámicamente vistas dentro del diseño lineal:

LinearLayout commentsLayout = (LinearLayout) findViewById(R.id.comments_layout); LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); for(Comment c: commentsList) { RelativeLayout layoutItem = (RelativeLayout) inflater.inflate( R.layout.list_item_comment, null, false); TextView tv = (TextView) layoutItem.findViewById(R.id.textView); ImageView iv = (ImageView) layoutItem.findViewById(R.id.imageView); // set tv's text // set iv's image and onclicklistener, nothing fancy here, everything goes well commentsLayout.addView(layoutItem); } 

Aquí está list_item_comment.xml:

 <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white" > <ImageView android:id="@+id/imageView" android:layout_width="50dip" android:layout_height="50dip" android:layout_alignParentLeft="true" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" /> <TextView android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="10dp" android:textSize="16sp" android:layout_toRightOf="@id/imageView" /> </RelativeLayout> 

Y aquí está el archivo xml para esta actividad:

 <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/main_layout" > ... <ScrollView android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" android:id="@+id/scrollView" > <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/relativeContainer" > ... <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/comments_layout" /> </RelativeLayout> </ScrollView> </RelativeLayout> 

Y las capturas de pantalla:

Sin diseños suficientes: (INCORRECTO, necesita mostrar 3 comentarios)

Incorrecto

Con suficientes diseños: (CORRECTO, pantalla llena)

Corriga uno

Sólo necesito mostrar los tres comentarios en el primer caso: / Gracias de antemano.

En lugar de fill_parent , trate de cambiar el layout_height del <RelativeLayout> de su list_item_comment.xml a wrap_content .

Además, ¿por qué necesita otro <RelativeLayout> dentro de su <ScrollView> del xml de su actividad. El LinearLayout es suficiente para hacer lo que desea que su actividad se vea. Tal vez usted puede quitarlo.

  • Recepción de la barra de estado oculta / entrada de un evento de actividad de pantalla completa en un servicio
  • Sincronizar la posición de dos vistas ScrollView
  • Establecer un ancho máximo en un grupo de vistas
  • Ajustar dinámicamente la altura de los encabezados de grupo en un ExpandableListView
  • Android Webview goback () problema con el método loadDataWithBaseURL
  • Android - no puede capturar el espacio atrás / borrar la prensa en suave. teclado
  • Activity.addContentView (Vista) == ViewGroup.addContentView (Ver)?
  • Android Cómo obtener una vista previa de una imagen, utilizando su ruta de acceso desde SDcard, desde mi aplicación
  • Tamaño del texto del hilandero Android
  • Arrastrar y soltar en android 3.x causa illegalStateException después de pequeño número en arrastra
  • ¿Cómo comprobar si una viewStub ya está inflada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.