私は左側のスライドメニューでAndroidアプリを開発していますこの画像のように、いくつかのLinearLayout
と途中でExpandableListview
が含まれていアンドロイドExpandableListView完全な高さを拡張していない
ExpandableListview
の子ビューが含まれていますa TextView
とListView
以下の場合、ListViewの可視性はデフォルトではなくなります。 TextView
をクリックすると、ListView
が表示されます。
親ビューのExpandableListview
をクリックすると、リストの高さも拡大されてコンテンツがラップされるという問題があります。しかし、子ビュー(TextView
)をクリックすると、リストの高さは変更されず、最後の項目を表示するためにスクロールする必要があります。私はリストを必要とし、この問題を解決するために
私を助けてください、問題の
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom();
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
if(listItem instanceof SecondLevelExpandableListView)
Log.e("abc", "SecondLevelExpandableListView");
if (listItem instanceof ViewGroup) {
Log.e("abc", "ViewGroup");
listItem.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
スクリーンショット:
は、私はこのコードを使用し、ScrollView内ExpandableListviewの高さを設定するには常にそのコンテンツをラップする。
ありがとうございます。
号を見てすべてのアイテムとスクロールする必要はありません。 – Glenn
あなたの問題は何ですか? –
私の問題は、Texviewをクリックして下のリストを見ると、ExpanableListviewの高さがコンテンツをラップするまで伸びないということです。私はExpandableListviewの高さを親ビューをクリックしたときと同じように伸ばしたいと思います。 – Glenn