一、在build.gradle中导入
compile 'com.android.support:recyclerview-v7:23.4.0'
二、布局中添加控件
<android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView>
三、创建MyAdapter 继承RecyclerView.Adapter 泛型是viewHolder
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.viewHolder>
将数据源通过 构造方法传递给Adapter
重写三个方法:
1.相当于listview中的getView方法onCreateViewHolder
2.数据绑定onBindViewHolder
3.数据的长度getItemCount()
class viewHolder extends RecyclerView.ViewHolder设置条目点击监听接口在ViewHolder中调用接口
四、MainActivity中代码
recyclerView = (RecyclerView) findViewById(R.id.recyclerView); mAdapter = new MyAdapter(mDatas);
//设置适配器 recyclerView.setAdapter(mAdapter); //设置布局管理器 recyclerView.setLayoutManager(new LinearLayoutManager(this)); //设置分割线和布局方向 recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL_LIST)); //设置点击事件 mAdapter.setOnClickListener(new MyAdapter.OnItemClickListener() { @Override public void OnClick(View view, int position, String mchar) { Toast.makeText(MainActivity.this, "datas"+mDatas.get(position), Toast.LENGTH_SHORT).show(); } });
五、补充
//ListView效果
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
//GridView效果
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
//横向GridView效果
mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(5, StaggeredGridLayoutManager.HORIZONTAL));
六、Demo文件下载地址
http://download.csdn.net/detail/wei11556/9653424