Recycleview列表展示Item横向布局无法铺满全屏问题

本文解决了一个关于使用RecyclerView展示数据时,Item子布局无法横向铺满父布局的问题。问题出现的原因有两种:一是Adapter加载inflater时parent参数传入null;二是RecyclerView布局中未明确宽高,用权重代替。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      今晚在做GreenDao数据库操作需要列表展示读取数据是用到Recycleview列表展示数据,但是奇怪的是Item子布局无法横向铺满父布局。

     此BUG出现主要两种错误写法,第一种是Adapter中加载inflater时候parent传入为null。

错误代码:

        return new CreateTODOViewHolder(
        LayoutInflater.from(context).inflate(R.layout.item_date,null,false));
        正确代码:

        return new CreateTODOViewHolder(
        LayoutInflater.from(context).inflate(R.layout.item_date,parent,false));

我犯的是第二种错误,在写Recycleview布局时候未明确宽高,用权重代替。


      

<com.jcodecraeer.xrecyclerview.XRecyclerView
    android:id="@+id/recycleview"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp">

</com.jcodecraeer.xrecyclerview.XRecyclerView>

解决办法是在RecycleVeiw的最外层添加一个RelativeLayout 布局就可以解决该问题

<RelativeLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp">

    <com.jcodecraeer.xrecyclerview.XRecyclerView
        android:id="@+id/recycleview"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.jcodecraeer.xrecyclerview.XRecyclerView>

</RelativeLayout>

问题在于Recycleview 的Item子布局在填充的时候会获取父布局的宽高 ,但是原来错误写法没有给明确的高度而是用权重代替高度导致子布局在获取父布局的宽高出现问题 只要在Recycleview外层添加一个RelativeLayout就可以解决。



大家加油!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值