要带着问题来阅读源码,解惑以满足心中的好奇心,知其然并知其所以然,了解发现 Google 工程师的代码设计原理。

1、猜测是在 onMeasure 的时候,只测量了第一个 item。

在 MeasureSpec.UNSPECIFIED 的时候,只是拿到了 第 1 个 item 的高度。 在 MeasureSpec.AT_MOST 的时候,会把 ListView 的 view 全部加载。

推测在 ScrollView 里面的测量模式 是 MeasureSpec.UNSPECIFIED。

2、解决方法: 自定义 ListView ,重写 onMeasure 方法,

int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthSpec, heightSpec);

在这里把我们的 ListView 重新赋值成 AT_MOST。

(1、这里的 size 右移两位,是因为 size 低30位, 高两位是 mode。

2、MeasureSpec.UNSPECIFIED 一般是在源码里面调用)

转载于:https://juejin.im/post/5baa3e00f265da0a8a6aae1c

ScrollView 嵌套 ListView 只显示第一行的源码分析相关推荐

  1. ScrollView嵌套ListView只显示一行

    在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: & ...

  2. 日积月累:ScrollView嵌套ListView只显示一行

    在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: [ ...

  3. android中ScrollView嵌套ListView或GridView显示位置问题

    Android中ScrollView中嵌套ListView或GridView时在开始进入界面时总是显示中间位置,开头的位置显示不出来.这种情况下只需要在ScrollView的父控件中添加以下两行代码即 ...

  4. ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决

    ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决 首先,正常情况下,如果在ScrollView里嵌套ListView后,会发现ListView只显示1条数据 那么,为了解 ...

  5. listview嵌套listview,子listview只显示一个item问题

    背景: 我在做项目的时候准备用listview嵌套一个listview,但是发现,子listview只显示一条数据,于是,一猜又是计算高度出问题了. 处理办法,当然是和scrollview嵌套list ...

  6. 四种方案解决ScrollView嵌套ListView问题

    在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结 ...

  7. ApkBus---四种方案解决ScrollView嵌套ListView问题

    原文链接:http://www.apkbus.com/forum.php?mod=viewthread&tid=161576 一. 为什么要使用ScrollView嵌套ListView的奇怪的 ...

  8. 有关Scrollview嵌套ListView的那些事

    有关Scrollview嵌套ListView的那些事 同样作为滑动控件的scrollview与listview,似乎本不应该嵌套使用,可作为研发的我们通常无法左右UI妹子们的奇(fan)思(ren)妙 ...

  9. android解决ScrollView嵌套ListView不能下拉刷新

    为了不误导新人,这篇帖子写的比较早了,这里2016年2月23日21:33:20更新的内容: 千万不要在实际开发中用scrollview嵌套listview\recylerview来处理滑动嵌套,   ...

最新文章

  1. 元旦去哪玩?用Python告诉你哪些景点爆满!
  2. 三方库报错真的就没有办法了吗?
  3. 20100422.C#.const VS readonly
  4. HDU - 5514 Frogs(容斥原理)
  5. 基于WinDbg的内存泄漏分析
  6. 批处理文件总结(三)
  7. java下拉列表 动态_【示例】教你简单用Java写一个动态更新的下拉列表(无数据库)...
  8. LeetCode 45. 跳跃游戏 II(贪心/BFS,难)
  9. 压缩js和css, IIS开启Etags, IIS开启Gzip
  10. ASP.NET MVC应用程序把文字写在图片上
  11. 【Luogu4921】情侣?给我烧了!(组合计数)
  12. abaqus切削为什么没有切屑_金属高速切削的ABAQUS仿真(下)
  13. 灾难性遗忘_谷歌大脑新研究:单一任务强化学习遇瓶颈?「灾难性遗忘」的锅!...
  14. Hi3519/Hi3559 系列芯片 AI资料介绍
  15. WordPiece是如何基于词表对文本进行切分的
  16. TMS VCL UI包功能和特点
  17. JavaWeb 获取客户端的真实IP地址
  18. matplotlib sci论文画图技巧
  19. BeyondCompare使用
  20. kubernetes(k8s) 基础理论

热门文章

  1. 公开课 | 微信高级研究员解析深度学习在NLP中的发展和应用
  2. 使用容器的正确方式,Docker在雪球的技术实践
  3. 深入理解 Mybatis 插件开发
  4. Tianchi数据集最全更新!
  5. 腾讯有史以来最高职级研究员是谁?
  6. 使用Python可视化卷积神经网络方法汇总
  7. 多年后的同学聚会,程序员混得最差?
  8. 在厕所遇到领导到底该说些什么?
  9. 漫话:如何给女朋友解释什么是 Git 和 GitHub?
  10. 【每日一算法】对称二叉树