Android开发 ---RecyclerView基本用法

来源:互联网 发布:临沂嘎嘎网络 编辑:程序博客网 时间:2024/05/22 10:45
首先项目中导入v7库  如果遇到有v7库26.0-graph1 再次添加v7recyclerview库冲突情况,则将v7换一个版本即可
布局中添加Recyclerview
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="wrap_content"    tools:context="com.jn.rxjava.testrxjava.TestRecyclerctivity">    <android.support.v7.widget.RecyclerView        android:id="@+id/rv"        android:layout_width="match_parent"        android:layout_height="match_parent"/></RelativeLayout>

然后
package com.jn.rxjava.testrxjava;import android.content.Context;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.ArrayList;import java.util.List;import static android.support.v7.widget.LinearLayoutManager.HORIZONTAL;import static android.support.v7.widget.LinearLayoutManager.VERTICAL;public class TestRecyclerctivity extends BaseActivity {    RecyclerView rv;    public static void openTestRecyclerctivity(Context context){        Intent intent = new Intent(context,TestRecyclerctivity.class);        context.startActivity(intent);    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test_recyclerctivity);        rv = (RecyclerView) findViewById(R.id.rv);
//布局样式        rv.setLayoutManager(new LinearLayoutManager(this));
//分割线        rv.addItemDecoration(new DividerItemDecoration(this,VERTICAL));
//适配器        rv.setAdapter(new MyAdapter(this,initData()));    }    private class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{        Context context;        List<String> lists;        public MyAdapter(Context context,List<String> lists){            this.context = context;            this.lists = lists;        }        @Override        public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {            MyViewHolder myViewHolder = new MyViewHolder(LayoutInflater.from(TestRecyclerctivity.this).inflate(R.layout.ecyclerview_item_layout,parent,false));            return myViewHolder;        }        @Override        public void onBindViewHolder(MyViewHolder holder, int position) {            holder.tv.setText(lists.get(position));        }        @Override        public int getItemCount() {            return lists.size();        }        class MyViewHolder extends RecyclerView.ViewHolder{            TextView tv;            public MyViewHolder(View itemView) {                super(itemView);                tv = itemView.findViewById(R.id.tv);            }        }    }    private List<String> initData(){        List<String> lists= new ArrayList<>();        for (int i = 0;i<100;i++){               lists.add(i+"");        }        return lists;    }}