android getView 一直是position=0的另一种情况

    昨天开发项目遇到Gridview列表显示不出来,数据list有15条,而getView中只打印一条数据position=0,也就是getView只执行了一次。百度了一下,基本都是设置ListView或gridview的高度时使用了wrap_content,要使用match_parent或指定高度。可是我使用的就是match_parent,而且根布局也一样。当我设置一个固定高度,列表就能显示出来了,我就无语了,match怎么不行?因为之前写过很多ListView和Gridview,我尝试加载别的布局文件,列表还是显示不出来。。。

    今天仔细对照之前写的包含列表的代码,发现onCreateView的inflater.inflate使用两个参数的方法(使用fragment显示列表)105019_jwSO_1786928.png,和之前写的不一致,改成inflater.inflate(R.layout.fragment_module1,container,false),试了一下,显示成功。主要是因为没设置viewgroup,api文档上这样描述:root          Optional view to be the parent of the generated hierarchy (if        attachToRoot is true), or else simply an object that        provides a set of LayoutParams values for root of the returned        hierarchy (if attachToRoot is false.)结合百度到的,引用:参数root需要附加到resource资源文件的跟控件, 由于inflate()会返回一个View对象,如果第三个参数attachToRoot为true,就将这个参数作为根对象返回,否则 仅仅将这个root对象的LayoutParams属性附加到resource对象的根布局对象上,也就是将布局文件resource的布局参数转换为外 层root可以接受的类型,比如root是一个LinearLayout自己要转换的resource里面有 layout_width=”fill_parent”,和layout_height=”fill_parent”参数,但是这些参数没有外部环境,它 们对应的对象都是ViewGroup.LayoutParams对象,root参数让系统将ViewGroup.LayoutParams对象转换为 LinearLayout.LayoutParams对象。

参考:http://www.aichengxu.com/view/13370

转载于:https://my.oschina.net/u/1786928/blog/373076

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值