您的位置:首页 > 其它

RecyclerView的基本使用步骤

2016-09-06 09:21 274 查看
RecyclerView简介:

RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。它被作为ListView和GridView控件的继承者,在最新的support-V7版本中提供支持。它的灵活性和可替代性比ListView更好,下面为大家介绍一下RecyclerView的简单使用步骤。

步骤一:导入包

compile 'com.android.support:recyclerview-v7:23.0.1'

步骤二:在(activity_main.xml)布局中添加RecyclerView,另外创建一个RecyclerView的项布局(Rec_item.xml)

activity_main.xml


<android.support.v7.widget.RecyclerView
android:id="@+id/buy_recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"       	//表示显示垂直的滚动条
></android.support.v7.widget.RecyclerView>


rec_item.xml,在这里为了方便起见我添加一个TextView就好

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rec_tv"
/>


步骤三:MainActivity.class(主界面)

private RecyclerView mRecyclerView;            	//声明Recyclerview
private Rec_Adapter mRec_Adapter;                //声明适配器
private List<String> datas = new ArrayList<>();  //用于存储获取的数据

mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview);
mRec_Adapter = new Rec_Adapter(datas);		//将数据传入适配器
mRecyclerView.setAdapter(mRec_Adapter);		//将适配器传入RecyclerView
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));//设置RecyclerView的样式


在这里为大家介绍一下RecyclerView的样式,可分为ListView、GridView、瀑布流的效果。上面为ListView的效果。
GridView效果:

mRecyclerView.setLayoutManager(new GridLayoutManager(this,3));


或者

mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.HORIZONTAL));//水平、


瀑布流效果:

mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL));//垂直


步骤四:Adapter(适配器),这里是重点难点部分,我创建了一个名为Rec_Adapterd.class的类并继承了RecyclerView.Adapter。

public class Rec_Adapter extends RecyclerView.Adapter<Rec_Adapter.ViewHolder> // 此处一定要继承RecyclerView.Adapter,尖括号内传入泛型Holder,此处的Holder需要在Rec_Adapter中创建一个内部类。

继承了RecyclerView.Adapter后要重写几个方法,直接上代码。

private LayoutInflater inflater;
private List<String> mdatas;
public Rec_Adapter(List<String> mdatas) {
this.mdatas = mdatas;
} // 适配器的构造方法,用于传入数据

class Rec_Holder extends RecyclerView.ViewHolder{      //内部类,将控件绑定起来,这里只绑定了一个TextView.
TextView rec_tv;
public Rec_Holder(View itemView) {
super(itemView);
rec_tv = (TextView) itemView.findViewById(R.id.rec_tv); //通过findViewById()绑定控件
}
}
@Override
public Rec_Holder onCreateViewHolder(ViewGroup parent, int viewType) { //创建ViewHolder,返回每一项的布局。
inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.rec_item,parent,false);
return new Rec_Holder(view);}

@Override
public void onBindViewHolder(Rec_Holder holder, int position) { //将数据跟控件绑定起来
holder.rec_tv.setText(mdatas.get(position)); //我在这里实现的是在每项中显示项的位置
}
@Override
public int getItemCount() { //在此处将返回项的数目
return mdatas.size();}
以上就是RecyclerView的基本使用实现,另外RecyclerView还有一些方法,如删除,添加项等等,下次将为大家奉上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: