給RecycleView初學者:RecycleView的基礎用法和一個Demo

Ray87L 7年前發布 | 8K 次閱讀 Android開發 移動開發 RecyclerView

研究了一下午RecyclerView的Adapter寫法。網上看了很多教程好坑,到處都是用自己定義的類看的我云里霧里。。現在總算搞明白了,RecyclerView的比較基礎的入門用法。。

下面給跟我一樣剛接觸的同學寫一下我學寫Adapter時候做的詳盡筆記,希望能幫到看到這篇文章的、和我幾個小時前一樣還在糾結的菜鳥們。

RecycleView的用法主要分三個部分:

1.在你的布局里創建一個RecyclerView,然后創建一個需要在RecyclerView內循環填充的布局

2.寫RecyclerView的Adapter

3.在需要調用RecyclerView的Activity中配置RecyclerView

1.省略

2.RecyclerView的Adapter寫法 (代碼中的注釋已經把我所了解的思路詳盡的介紹清楚了)

//繼承父類
public class SettingsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    //1.對各種需要傳入的數據進行聲明
    private Context context;//上下文環境
    private String[] settings;/*根據需要更改*///接入數據的類型

    //2.構造方法,作為適配器接收參數的入口
    public SettingsAdapter(Context context, String[] data/*根據需要更改*/) {
        this.context = context;//上下文入口
        this.settings = data;//數據入口
    }

    //4.默認需要實現的方法,負責為Item創建視圖容器,并且返回一個該容器的實例傳給onBindViewHolder方法
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //以下一步:負責實例化待逐條填充的layout,將其轉換為view
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_settings, parent, false);
        //以下一步:負責實例化傳入的待填充的view的容器
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    //5.默認需要實現的方法,負責將數據寫入在Item布局的元素里
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        /*針對不同的元素寫入數據,根據需要更改*/
        MyViewHolder myViewHolder= (MyViewHolder) holder;
        myViewHolder.textViewSetting.setText("settings");
    }

    //6.告訴適配器一共有多少條數據需要填充
    @Override
    public int getItemCount() {
        return settings.length;
    }

    //3.viewholder的內部類,用于構建viewholder和其要填充的item中的元素的對象,并且將對象和其中的元素綁定
    //總結:將布局的規則用代碼實例化為對象,將布局中的元素用代碼實例化為對象的屬性,方便onBindViewHolder方法進行寫入
    class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView textViewSetting;/*根據需要更改*///初始化細分布局中的元素
        public MyViewHolder(View itemView) {
            super(itemView);//這里的itemView指的是細分布局,即需要進行重復構建的布局
            textViewSetting = (TextView) itemView.findViewById(R.id.shezhixiang);/*根據需要更改*///布局中的TextView需要填寫
        }
    }
}

3.為每個RecyclerView創建一個LinerLayoutManager:

LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(this);

將管理器與RecyclerView綁定:

recyclerView_changgui.setLayoutManager(linearLayoutManager1);

為RecyclerView綁定適配器:

recyclerView_changgui.setAdapter(new SettingsAdapter(this, new String[4]));

 

來自:http://www.jianshu.com/p/74ad6a002d5b

 

 本文由用戶 Ray87L 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!