今天在写一个横向的RecyclerView,写完运行后怎么都没显示item内容,开始以为是数据没加载,打断点调试后发现数据加载是没问题的,瞬间懵逼。。。

Tools -> Layout Inspector 看下布局结构,能看到item存在,但是检查属性发现所有item的宽度都为0,所以在界面上看不到有item显示,可是item是有固定宽度的。。。

到这,其实可以基本定位到item的布局加载问题,而我使用的加载的方式是:

View.inflate(parent.context, R.layout.item_home_channel_normal, null)

后面修改后,正确的加载方式是:

LayoutInflater.from(parent.context).inflate(R.layout.item_home_channel_normal, parent, false)

查看源码会发现View.inflate()内部就是使用LayoutInflater的inflate()方法

inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot)

关键在于三个参数的使用:

如果inflate(layoutId, root, false ) 则layoutId的最外层的控件的宽高是没有效果的

如果inflate(layoutId, root, true ) 则layoutId的最外层控件的宽高能正常显示

郭大神的结论是:

1、如果root为null,attachToRoot将失去作用,设置任何值都没有意义。

2、如果root不为null,attachToRoot设为true,则会给加载的布局文件的指定一个父布局,即root。

3、如果root不为null,attachToRoot设为false,则会将布局文件最外层的所有layout属性进行设置,当该view被添加到父view当中时,这些layout属性会自动生效。

4、在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。

上面的View.inflate(parent.context, R.layout.item_home_channel_normal, null)相当于

inflate(layoutId, null, false),所以显示没有达到预期。

item不可见 recycleview_RecyclerView不显示Item相关推荐

  1. 解决ActionBar中不显示item的问题,item显示在overflow中

    解决ActionBar中不显示item的问题,item显示在overflow中 一.问题描述       使用ActionBar时,需要增加一个菜单选项,即在/menu/main.xml的布局文件中添 ...

  2. android recyclerview 横向item 宽度,RecyclerView的item宽度不能全屏显示及线性布局与grid布局切换混乱解决方法...

    1.RecyclerView的Item宽度不能全屏显示 出现这种的原因有两种: 1.第一种是在adapter中加载inflater时parent传入为null 2.如果第一种不行,第二种原因就是在Re ...

  3. jxls2技术 jx:each(items=list var=item lastCell=H3) 列不显示

    最近做一个任务,那就是修改导出模板.以前我做模板都是用POI技术创建模板,这个就不说了,不是今天的主题,网上也一大把这个技术 今天说的一个问题是jxls2问题,我这里先贴一个创建的jxls2的技术博客 ...

  4. 解决QTreeWidget中item无法整行同时显示相同颜色

    对于QTreeWidget来说,继承自QTreeView,因此设计QTreeWidget中的样式设计,归根结底是对QTreeView的样式设计,而对于QTreeView中item样式设计,可以分为对b ...

  5. Android 使用ViewPager实现view轮播效果,单个item分页样式,多个item分页样式,横向listview

    效果 单个item样式 多个item样式 横向item 自定义viewpager--可开关切换动画 public class NoAnimationViewPager extends ViewPage ...

  6. 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点

    今天发现一个问题.listView的item点击以后进入到下一个页面,下个页面有个返回按钮,直接返回回去以后点击事件不能触发,滑动或者重新打开这个listView,就可以达到原来的效果.后来发现是因为 ...

  7. python列表中item_del(item)与列表.删除(item)在python lis中

    我想从长度大于3的列表中删除单词. 我用了del(item),但没用. 代码如下:lst=['XDA-OT','hi','loc','yeah'] for i in lst: if len(i)> ...

  8. python中item什么意思_python中的item

    所谓Attr系列,其实是setattr,delattr,getattr 三个函数,从名字中可以看出来这是一套设置,删除,查询的函数,那我们来一个一个的看: setitem(self,key,value ...

  9. item在C语言中是什么意思中文,item的意思在线翻译,解释item中文英文含义,短语词组,音标读音,例句,词源,同义词【澳典网ODict.Net】...

    i.tem item的音标和读音: DJ音标发音: [ˈaitəm] KK音标发音: [ˈaɪtəm] item的词性: n.(名词) 1. A single article or unit in a ...

最新文章

  1. 通过“四大行为”对WCF的扩展[原理篇]
  2. 未对销售组织 XXX 分销渠道 00 语言 ZH 定义
  3. android开发之EditText金额输入只能两位小数点
  4. java 为文件及文件夹添加权限
  5. 机器人的动力学有什么用呢?
  6. 【Unity新闻】Unity发布白皮书《11种有效的玩家参与策略》
  7. ansible概念以及基础(一)
  8. JS助记 ----- 正则表达式
  9. 项目总结25:海康威视SDK-Java二次开发-客流量分析
  10. linux gettimeofday()函数
  11. apiCloud中aui获取不到高度,pos.h为0,offsetHeight为0问题
  12. 石墨文档服务器版,石墨文档功能一览
  13. 【STMT】等价类划分法
  14. 基于STM32的EtherCAT从站IO讲解
  15. MySQL数据库名字能不能用中划线 ‘-’ ?
  16. visual画图软件_历史最全科技互联网类免费书籍、音乐、照片、软件、招聘信息整理汇总分享...
  17. 文章随笔日记完全不通呀
  18. sass-compass之一
  19. 洛谷 P2829 大逃离 题解
  20. 微pe安装原版win10怎么装|wepe安装原版win10 1803教程

热门文章

  1. SAP Spartacus Media Component
  2. SAP Spartacus core fromOccBaseSites逻辑
  3. 一段简单的JavaScript代码,实现在同一网页输出多个图标的功能
  4. 如何关闭SAP CRM中间件的delta download方式
  5. SAP成都研究院的小伙伴们庆祝公司再次获得2019年最佳雇主的场景
  6. SAP OData Multiple Origin composition test - Opportunity Creation case
  7. 打印user在指定时间段内做过的personalization detail
  8. ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
  9. Sequence of component save EC and orderadm_h save
  10. How is BDOC hold parent removal action in ERP