开发一个订单详情界面,详情界面上面要显示收货地址、订单总金额等,中间部分要一个listView,下面还有一些东西

但是一个界面显示不全,肯定要scrollview,然后发现listView竟然只显示第一个,查了一下问题大概就是android支持这么搞,反正解决办法网上是一大堆,没有仔细研究。但是这个办法走了一个捷径。反正能满足我的需求了。

大概布局就是

<LinearLayout>

<ListView>
</ListView>

</LinearLayout>

然后在setAdapter后调用下面这个办法

大概就是统计item相加的高度,动态设置这个线性布局的高度。记录一下

public class Utility {

public static void setListViewHeightBasedOnChildren(ListView listView) {

//获取ListView对应的Adapter

ListAdapter listAdapter = listView.getAdapter();

if (listAdapter == null) {

// pre-condition

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

}

}

最新文章

  1. 【腾讯Bugly干货分享】跨平台 ListView 性能优化
  2. 网站上如何添加显示favicon
  3. 关于iOS和OS X废弃的API你需要知道的一切
  4. WinForm开发框架--动态读取DLL模式
  5. 2014多校第二场1011 || HDU 4882 ZCC Loves Codefires (贪心)
  6. UITextFiled,UIButton,UIImageView交互相互之间的事件拦截
  7. 剑指offer--面试题10
  8. app开发历程————Android程序解析服务器端的JSON格式数据,显示在界面上
  9. MPEG-DASH on IIS Practice in Action-attach
  10. Tomca软件介绍和安装
  11. Running Spark on YARN
  12. ORA-12541:tns:no listener
  13. Linux特殊符号
  14. SpringBoot简介
  15. tree-lstm初探
  16. try、catch、finally详解,你不知道的异常处理
  17. U盘装机教程
  18. Oracle的decode、sign、trunc函数
  19. 以太坊预言机与WEB API(原创,转载请说明原址)
  20. 对 /etc/rc.d/init.d 目录的一点理解

热门文章

  1. Oracle定义varchar2()类型存储汉字的长度问题
  2. mysql连接其他表删除某个表的数据
  3. 烂泥:KVM、kickstart与NFS集成
  4. hdu 1542 Atlantis(线段树,扫描线)
  5. 在VMware Workstation11虚拟机上安装黑苹果
  6. log4j日志优先级问题的后续
  7. nginx 平滑升级tengine
  8. Oracle常用plsql
  9. 使用jmx监控tomcat
  10. Nginx启动、关闭、重新加载脚本