ScrollView内にあるRelativeLayoutの内部にあるLinearLayoutに動的に作成された複数のRelativeLayoutsを追加しようとしています。すべてのビューの合計高さが電話画面のサイズを超えると、すべてのビューが正しく表示されます。しかし、動的に追加されたビューの合計サイズが画面を満たしていない場合、最初のRelativeLayout要素のみが表示され、他の要素は画面に表示されません。私は本当に絶望的で、理由を理解していません。ここでScrollView内のRelativeLayoutにビューを動的に追加
は動的線形レイアウト内のビューを移入するためのコードです:ここでは
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);
}
はlist_item_comment.xmlです:
<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>
:
<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>
そして、ここでは、この活動のためのXMLファイルです
スクリーンショット:
十分なレイアウトなし:(INCORRECT、3件のコメントを表示する必要があります)十分なレイアウトで
:(正しい、画面が満たされている)
I 3つのコメントをすべて最初のケースに表示する必要があります:/事前に感謝します。
なぜヘッダーとフッターでListViewを使用しないのですか? –
実際には、実際には通常、リストのようなものよりも多くの他のビューがあります:いくつかの画像ビュー、ボタンなどですが、これは一般的なケースではありませんが、この状況も解決する必要があります。このアクティビティの他のビューは初期化されます。何かご意見は? – ecem