• Android之ScrollView嵌套ListView解决工具


    public class Utility {

               public  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);

               }

        }

    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    [转]采样和滤波
    "我的电脑"和所有文件夹打不开的解决办法
    巨无霸“火星”CPU散热器亮相
    [转]规范化编程:ANSI和UNICODE的使用
    2006第三季度:10大最糟科技事件
    【掉下巴】如此公路
    Windows CE 初体验 幻灯
    Windows CE.NET Core OS 特性详解(二)最终用户应用程序
    基于PB的Windows CE模拟环境的配置及调试
    非阻塞I/O
  • 原文地址:https://www.cnblogs.com/hudabing/p/3101663.html
Copyright © 2020-2023  润新知