RecyclerView的使用 做一個最基本

1. 先聲明控件 RecyclerView rcv = findViewById(R.id.rv);
2.做一些簡單的配置 給他動畫
rcv.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
 rcv.setItemAnimator(new DefaultItemAnimator());
3.給他匹配適配器 把解析到的數據給適配器
Myadaper myadaper = new Myadaper(list);
rcv.setAdapter(myadaper);
4.下面是適配器的操作
//寫Reyclerview的適配器 要繼承RecyclerView.Adapter重寫三個方法  onCreateViewHolder onBindViewHolder getItemCount
public class Myadaper extends RecyclerView.Adapter {
    private List<String> list;
    public Myadaper(List<String> list) {
        this.list = list;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //找到佈局
        View view = View.inflate(parent.getContext(), R.layout.item, null);
        Myviewholder myviewholder = new Myviewholder(view);
        return myviewholder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        final Myviewholder myviewholder= (Myviewholder) holder;
        myviewholder.textone.setText(list.get(position));
    }

    @Override
    public int getItemCount() {
        return list.size();
    }
    //內部類要繼承ViewHolder
    class Myviewholder extends RecyclerView.ViewHolder{

        private final TextView textone;

        public Myviewholder(View itemView) {

            super(itemView);
            textone = itemView.findViewById(R.id.item_tv);
        }
    }

}
5.下面是佈局 很簡單
<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/rv"
    ></android.support.v7.widget.RecyclerView>
6.下面是依賴
compile 'com.android.support:recyclerview-v7:26.1.0'

7.最後做一點補充 如果想讓他變成多列的 加這一行代碼即可 把之前的

LinearLayoutManager改成GridLayoutManager就好了 下面是代碼
rcv.setLayoutManager(new GridLayoutManager(this,3));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章