gpt4 book ai didi

android动态设置listview高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:48:19 26 4
gpt4 key购买 nike

我在 ScrollView 中有 ExpandableListview 我知道这不好,但我也有,显示整个列表的唯一解决方案是通过代码使用 布局参数

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, ListViewData.length());

这个解决方案很好,但我无法计算出我应该在 Params 中给出的正确高度,所以有没有办法从数组的大小中知道实际大小

编辑:我想出了一个解决方案,每次我扩展一组列表时,我都会改变高度以适应新的 geight

最佳答案

试试这个,使用基于 ListView 的 Child。 setListViewHeightBasedOnChildren() 这将设置您的 ListView 基于 child 的高度

 public class Utils {

public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}

int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}

ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}



}

关于android动态设置listview高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19117195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com