解决android中list在ScrollView当中只显示一行的问题

来源:互联网 发布:vue.js主要是干什么用 编辑:程序博客网 时间:2024/05/16 08:13

这属于list在ScrollView当中的适配

package com.ladongjiguang.meikuangwuziyunshu.PublicClass;import android.view.View;import android.view.ViewGroup;import android.widget.ListAdapter;import android.widget.ListView;/** * Created by admin on 2016/7/29. *///解决ListView在ScrollView中只能显示一行的问题public class Utility {    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);    }}

用法:

在list的构建代码中添加:

//获得ListView的高度        Utility.setListViewHeightBasedOnChildren(list);

即可

0 0
原创粉丝点击