天天看點

RecyclerView隻有一行資料的解決方案

作為一個剛開始學習Android的菜鳥,今天學習做一個簡單的聊天界面 剛開始使用了RecyclerView 就碰到了隻顯示一行資料的問題。

RecyclerView隻有一行資料的解決方案

上網查閱一番後發現幾個解決方案。

1.初始化布局的時候把第二個參數設定為空,或者隻設定兩個參數,第一個為布局ID,第二個參數為空。

上一下我的初始化布局代碼

public ViewHolder onCreateViewHolder(ViewGroup parent , int viewType){
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_item,parent,false);
    return new ViewHolder(view);
}      

改成了

public ViewHolder onCreateViewHolder(ViewGroup parent , int viewType){
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_item,null,false);
    return new ViewHolder(view);
}      

但是結果變成了

RecyclerView隻有一行資料的解決方案

我設定好放在右邊的布局顯示在了左邊,很明顯沒有傳入第二個parent參數導緻了初始化布局的錯誤

2.看到有人說是item布局height屬性問題,設定成了match_parent,我猜測可能是一行資料占據了整個螢幕,運作程式往下拉,果然其他資料在下面

RecyclerView隻有一行資料的解決方案

于是果斷修改item布局

android:layout_height="wrap_content"      
RecyclerView隻有一行資料的解決方案

程式顯示正常。