Я разработки Android приложения с меню левой слайд содержит некоторые LinearLayout
и ExpandableListview
в середине, как это изображениеAndroid ExpandableListView внутри ScrollView не расширить полную высоту
Вид ребенок ExpandableListview
содержит a TextView
и ListView
ниже, видимость ListView по умолчанию отсутствует. При нажатии на кнопку TextView
будет видна ListView
.
Проблема заключается в том, что при нажатии на родительский вид ExpandableListview
высота списка также расширяется, чтобы обернуть его содержимое. Но когда вы нажимаете на дочерний вид (также TextView
), список не меняется, и мне нужно прокрутить вниз, чтобы увидеть последний элемент.
Чтобы установить высоту ExpandableListview внутри ScrollView, я использовал этот код:
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);
}
Скриншот проблемы
Пожалуйста, помогите мне решить эту проблему, мне нужен список всегда, чтобы обернуть его содержание.
Заранее спасибо.
Нет, я имею в виду, что ListView всегда показывать весь элемент и не нужно прокручивать. – Glenn
Так что вы можете попробовать еще раз, в чем проблема? –
Моя проблема заключается в том, что когда я нажимаю на Texview, чтобы увидеть список ниже, высота ExpanableListview не распространяется, чтобы обернуть его контентом. Я хочу, чтобы высота ExpandableListview также расширялась, как при нажатии на родительское представление. – Glenn