RecyclerView的基本使用步骤

  • Post author:
  • Post category:其他


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还有一些方法,如删除,添加项等等,下次将为大家奉上。











版权声明:本文为jwllls原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。