Androidのアプリ開発関連のブログ

ListViewを縦に並べる

制作中のアプリでちょっとハマったんだが、
ファイル一覧等をLinearLayoutで縦に並べて、ステータス表示も同じLinearLayout中に置こうとした。
ステータス表示はListViewで複数行表示できるようにしてLinearLayout中に必要な高さだけ確保してもらえると思ったのだが、
ListViewの高さが更新されないのか、ステータス領域が表示されなかった。

全体のレイアウトはmain.xmlで、ステータス表示用ListViewの行レイアウトはstatus.xml。
status.xmlはLinearLayoutでListViewの行を包む感じだが、ここでandroid:layout_heightを絶対値で指定しないとListViewの高さが確保できないみたい。
status.xmlのLinearLayoutにandroid:layout_heightを絶対値で指定すると、ListViewを更新すれば必要な高さだけ確保されて表示される。