4

アクティビティには、関連するアダプターを含む ListView があります。この ListView の各項目には、関連するアダプターを持つ ExpandableListView があります。

最初は、ListView には 2 つの項目しかなく、展開可能なリストビューはすべて展開されていません。このとき、ListView の高さは画面の高さよりも大きくありません (画面の高さが 800、ListView の高さが 600 であるとします。ListView の下に高さ 200 の空白領域があります)。ここに画像の説明を入力

次に、最初の項目の展開可能なリストビューをクリックすると、展開可能なリスト ビューが展開されます。ただし、ListView の高さは変更されません (空白の領域がまだ存在します)。ここに画像の説明を入力

リストビューの高さを調整して、クリックして展開可能なリストビューを展開したときに空白の領域を削除できるようにする方法はありますか? ありがとう。

4

1 に答える 1

2

http://www.java2s.com/Code/Android/UI/setListViewHeightBasedOnChildren.htm

これは私を助けました。基本的に、レイアウトの高さを追跡する必要があります。そして、あなたとあなたのメソッドの中でそれを調整するために使用setLayoutParams()します。requestLayout()onGroupExpandonGroupCollapseListener

于 2012-09-17T05:49:25.777 に答える