天天看點

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的小問題

可能也是自己比較菜鳥的原因,是以這麼簡單的問題到糾結了好久,大神勿噴!