public class Utility {                    public static  void setListViewHeightBasedOnChildren(ListView listView) {                //获取ListView对应的Adapter                ListAdapter listAdapter = listView.getAdapter();                if (listAdapter == null) {                     return;                }                                           int totalHeight = 0;                for (int i = 0, len = listAdapter.getCount(); i < len; i++) {                   //listAdapter.getCount()返回数据项的数目                     View listItem = listAdapter.getView(i, null, listView);                     listItem.measure(0, 0);                    //计算子项View 的宽高                     totalHeight += listItem.getMeasuredHeight();                     //统计所有子项的总高度                }                                           ViewGroup.LayoutParams params = listView.getLayoutParams();                params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));                //listView.getDividerHeight()获取子项间分隔符占用的高度                //params.height最后得到整个ListView完整显示需要的高度                listView.setLayoutParams(params);          } }

setAdapter方法之后调用

new Utility().setListViewHeightBasedOnChildren(lv);


更多相关文章

  1. android GPS JAVA应用程序编程-------获得经纬度,卫星信息等
  2. Android获取StatusBa有效高度
  3. [整理]android中几种常见的尺寸
  4. android有用代码片段
  5. Android输入法遮挡问题的解决思路
  6. android设置Spinner字体颜色,格式,大小
  7. android 设置Button或者ImageButton的背景透明 半透明 透明
  8. Android(安卓)Maven 采用第三方jar包,程序运行时报错的解决方案
  9. android webview 使用以及一些常见的异常处理

随机推荐

  1. Android(安卓)JNI 使用的数据结构JNINati
  2. 摩托罗拉公司在开发Android应用商店 – S
  3. Android中事件分发机制
  4. Android简明开发教程十九:线程 Bezier曲线
  5. Android之网络请求5————OkHttp源码2:
  6. android-包签名
  7. Android存储选项简析
  8. Android(安卓)RenderScript 的使用基础篇
  9. Android高人必修 Ant 编译Android工程
  10. Android(安卓)40个面试点