RecyclerView的使用

来源:互联网 发布:重生之娱乐网络帝国 编辑:程序博客网 时间:2024/06/11 02:45
一、在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
                

0 0