RecycleView的简单使用

来源:互联网 发布:大溪淘宝拍照 编辑:程序博客网 时间:2024/06/06 08:53

依赖:

compile 'com.android.support:mediarouter-v7:25.0.0'compile 'com.android.support:appcompat-v7:25.0.0'compile 'com.android.support:recyclerview-v7:25.0.0'
activity_main.xml里面的布局样式:
<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="match_parent" >    <android.support.v7.widget.RecyclerView        android:id="@+id/id_recyclerview"        android:divider="#ffff0000"        android:dividerHeight="10dp"        android:layout_width="match_parent"        android:layout_height="match_parent" /></RelativeLayout>
MainActivity里面的代码:
public class MainActivity extends AppCompatActivity {    private RecyclerView mRecyclerView;    private List<String> mDatas;    private HomeAdapter mAdapte;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initData();        //横向        //nearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);        //默认        //mRecyclerView.setLayoutManager(linearLayoutManager);        //瀑布流        StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL);        mRecyclerView.setLayoutManager(staggeredGridLayoutManager);        mRecyclerView.setAdapter(mAdapte = new HomeAdapter());    }    protected void initData()    {        mDatas = new ArrayList<String>();        for (int i = 'A'; i < 'z'; i++)        {            mDatas.add("" + (char) i);        }    }    class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder>    {        @Override        public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)        {            MyViewHolder holder = new MyViewHolder(LayoutInflater.from(                    MainActivity.this).inflate(R.layout.base, parent,                    false));            return holder;        }        @Override        public void onBindViewHolder(MyViewHolder holder, int position)        {            holder.tv.setText(mDatas.get(position));        }        @Override        public int getItemCount()        {            return mDatas.size();        }        class MyViewHolder extends RecyclerView.ViewHolder        {            TextView tv;            public MyViewHolder(View view)            {                super(view);                tv = (TextView) view.findViewById(R.id.id_num);            }        }    }}