天天看点

android中RecyclerView的item的小问题

请看问题:

android中RecyclerView的item的小问题

很坑爹啊!代码中写的item样式就是想象的不太一样

<TextView
        android:id="@+id/xuhao"
        android:layout_weight="1"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="序号"
        style="@style/MyItemSize"
        android:background="@drawable/myshape"/>
           

一个item就是由14个这样的textview组成的,没有任何花里胡哨,但是我明明每一个item都给定了android:layout_weight=“1”,,但实际上却并不是理想状态,首先每个textview的宽度并不一样,而且TextView中没有值,他干脆就不显示了,后来在百度了很多资料发现可以把android:layout_width="match_parent"改成android:layout_width=“0dp”,试了一下果然可以变成了这个样子:

android中RecyclerView的item的小问题

空值可以显示了,而且每一个TextView的宽度确实也变成了理想样子,但问题又来了,为什么只有第一个item充满了整个屏幕,而剩下的没有?

查阅了很多的资料和文章,也没有找到结果,后来突然灵光一闪

public WuLiaoWanShanRecycleAdapter.DaiChuZhiHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_wuliaosuoxu , null , false);
        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        int width = wm.getDefaultDisplay().getWidth();
        int height = wm.getDefaultDisplay().getHeight();
        view.setMinimumWidth(width);
        WuLiaoWanShanRecycleAdapter.DaiChuZhiHolder daiChuZhiHolder = new WuLiaoWanShanRecycleAdapter.DaiChuZhiHolder(view);
        return daiChuZhiHolder;
    }
           

在recyclerView的适配器中oncreatitem的时候给item的宽度重新赋值,让item的宽度与屏幕相等,后来终于改好了这个,变成了这个样子

android中RecyclerView的item的小问题

可能也是自己比较菜鸟的原因,所以这么简单的问题到纠结了好久,大神勿喷!