在网上找到ListView 和ScroolView 共存的方法无非是给他每个listview 重新增加高度,但是android 的设计者始终认为这并不是一种好的实现方法。但是有的时候有必须要用这种蛋疼的设计。
于是乎,我网上找到了一个方法:
publicclassUtility{publicstaticvoid setListViewHeightBasedOnChildren(ListView listView){ListAdapter listAdapter = listView.getAdapter();if(listAdapter ==null){// pre-conditionreturn;}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.LayoutParamsparams= listView.getLayoutParams();params.height = totalHeight +(listView.getDividerHeight()*(listAdapter.getCount()-1));
listView.setLayoutParams(params);}}
但是我每次调用的时候都会产生在listItem.measure(0,0)报空指针异常。我debug 发现listItem 并不是为空啊,为啥会报错。在经过一番查找之后。我发现原来是自己item的布局用了RelativeLayout 把他换为LinearLayout 就好了。究其原因,原来是 Linearlayout重写了onmeasure方法,其他的布局文件没有重写onmeasure,所以在调用listItem.measure(0, 0); 会报空指针异常,如果想用这个东东,就必须用linearlayout布局喽。

最新文章

  1. [转]PhpStorm 超强语言模板的支持
  2. jQuery的几种简单实用效果
  3. 【BZOJ】1048: [HAOI2007]分割矩阵
  4. C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。
  5. Windows Live Writer测试插件
  6. PAT 1003
  7. hdoj Pipe&amp;&amp;南阳oj管道问题&amp;&amp;poj1039(计算几何问题...枚举)
  8. Activity的启动模式与flag详解
  9. NIO(三、Channel)
  10. python常用函数用法整理
  11. Excel将一列数据变为两列
  12. [Java]直播方案----[接入环信聊天室]+[腾讯云直播]
  13. NUC970开发板烧录
  14. PlainElastic.Net
  15. redis性能监控(一): Redis Info 命令 - 获取 Redis 服务器的各种信息和统计数值
  16. 涂抹mysql笔记-数据备份和恢复
  17. Centos7 Journald 指令
  18. dom node 查找父级parentNode
  19. myeclipse run按钮不见了
  20. lintcode-202-线段树的查询

热门文章

  1. 消除“Permission is only granted to system apps”错误
  2. Swift应用开源项目推荐
  3. 问题解决——Group Box控件遮挡其它控件
  4. 温故而知新之数据库的分离和附加&hellip;高手请跳过&hellip;.
  5. CSS垂直水平居中
  6. &lt;原&gt;ASP.NET 学习笔记之HTML helper中参数何时会是路由参数,何时又会是query string?
  7. [转]取代cookie的网站追踪技术:”帆布指纹识别”初探
  8. JVM学习之常见溢出类型
  9. linux杂记(二)主机硬盘规划
  10. 11.java.lang.ArrayStoreException