当前位置: 首页 > news >正文

android listview只显示一行数据,解决ScrollView中嵌套 listView只显示1行的问题

注意:ScrollView中只能放一个子 View

xml:

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/scroll_view"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/list_view"

android:layout_width="match_parent"

android:layout_height="match_parent" />

java:在原有代码中添加一下代码即可

/**

* 设置ListView高度

* 解决ScrollView中嵌套ListView,listVIew只显示一行的问题(原因ScrollView无法判断高度)

*

* @param listView

*/

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 

// listAdapter.getCount()返回数据项的数目

View listItem = listAdapter.getView(i, null, listView);

// 计算子项View 的宽高

listItem.measure(0, 0);

// 统计所有子项的总高度

totalHeight += listItem.getMeasuredHeight();

}

ViewGroup.LayoutParams params = listView.getLayoutParams();

params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));

// listView.getDividerHeight()获取子项间分隔符占用的高度

// params.height最后得到整个ListView完整显示需要的高度

listView.setLayoutParams(params);

}

相关文章:

  • android file 4.4.1,vuejs文件在android低版本中(5.1,4.4)报错。导致页面空白
  • win7小米手机驱动安装是 其他设备内不显示android,win7系统连接小米4手机不显示“便捷式盘符”的解决方法...
  • 小米装android4.4,刷机之家教你设置小米MIUI/Android 4.4双系统(二)
  • android开源系统brvah,Brvah——一个强大的Adapter框架
  • html5改变窗口大小,js怎么改变窗口大小?js改变窗口大小方法
  • html网页设计需求分析,网页设计需求分析方法
  • 2021兰州三中高考成绩查询,2021兰州中考(初中学业水平测试)多少分考入高中 分数控制线预测分析...
  • 少数民族高考成绩查询2021,内蒙古2021高考民族汉考三级成绩查询时间及方法 什么时候查询...
  • 计算机专业英语考试题库,计算机专业英语-中国大学mooc-题库零氪
  • 图像处理与计算机视觉算法及应用 第2版,图像处理与计算机视觉算法及应用教程(源码+pdf)...
  • 在线计算机字符编码查询,字符编码
  • 举例说明应用计算机技术求解问题的步骤,下面举例说明UGFEA的应用-计算机工程学院.doc...
  • html邮件会不会是病毒,邮件病毒不得不防 去除来信病毒有另法
  • ios html css,IOS 7 - css - html height - 100% = 692px
  • 计算机专业i英语,计算机专业英语词汇
  • [NodeJS] 关于Buffer
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [译] 怎样写一个基础的编译器
  • 【Leetcode】104. 二叉树的最大深度
  • extract-text-webpack-plugin用法
  • IOS评论框不贴底(ios12新bug)
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Javascript 原型链
  • JavaScript函数式编程(一)
  • js中的正则表达式入门
  • Laravel 实践之路: 数据库迁移与数据填充
  • SQLServer之创建显式事务
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 简单基于spring的redis配置(单机和集群模式)
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端自动化解决方案
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 项目实战-Api的解决方案
  • C# - 为值类型重定义相等性
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (2.2w字)前端单元测试之Jest详解篇
  • (3)STL算法之搜索
  • (二)JAVA使用POI操作excel
  • (二)PySpark3:SparkSQL编程
  • (二)学习JVM —— 垃圾回收机制
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四)模仿学习-完成后台管理页面查询
  • (算法)Travel Information Center
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全