机械东莞网站建设,电子商务网站建设及维护,wordpress企业网站制作视频教程,桂林象鼻山景区简介首先就是了解ListView和RecyclerView的区别1.ListView相比RecycleView的优点a.ListView实现添加HeaderView和FooderView有直接的方法b.分割线可以直接设置c.ListView实现onItemClickListence和onItemLongClickListence有直接的方法2.RecyclerView相比ListView的优点a.封装了Vie…首先就是了解ListView和RecyclerView的区别1.ListView相比RecycleView的优点 a.ListView实现添加HeaderView和FooderView有直接的方法 b.分割线可以直接设置 c.ListView实现onItemClickListence和onItemLongClickListence有直接的方法2.RecyclerView相比ListView的优点 a.封装了ViewHodler效率更高 b.可以添加增删Item动画、侧滑功能等 c.支持局部更新可见才更新不可见不更新 d.插件式实现各个功能模块化解耦性强使用起来更方便选取策略性能上 RecyclerView 并不比ListView 有明显的性能优势。功能上 RecyclerView 适用于灵活布局时新组件开发优先选取RecyclerView 。不过现在总的来说基本都是优先选择使用RecyclerView的毕竟界面排序刷新什么的会更方便RecyclerView使用第一步找到recyclerView的控件和ListView的第一步一样通过findViewById找到recyclerView的控件RecyclerView recyclerView findViewById(R.id.recyclerview);第二步创建Bean类 得到set和get的方法解析获取的数据创建Bean类 得到set和get的方法public class Bean {String nanm;
public String getNanm() {
return nanm;}
public void setNanm(String nanm) {
this.nanm nanm;}
}第三步创建MyRadper的对象返回找到recyclerView控件的页面下去创建MyRadper的对象 传递数据到适配器MyRadperMyRadper myRadper new MyRadper(data, this);
recyclerView.setAdapter(myRadper);以上方法和ListView基本是一模一样的第四步创建适配器创建适配器MyRadper 继承 RecyclerView.AdapterMyRadper.MyViewHolder这里需要自己去创建点击事件OnRecyclerItemClickListenerpublic class MyRadper extends RecyclerView.AdapterMyRadper.MyViewHolder {private ListBen data; //接受数据private Context context; //接受上下文public MyRadper(ListBen data, Context context) {this.data data;this.context context;}Overridepublic MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {//拿到布局View view View.inflate(context, R.layout.item, null);//在ViewHolder中进行编码操作return new MyViewHolder(view);}Overridepublic void onBindViewHolder(MyViewHolder holder, int position) {//数据设置绑定holder.tv.setText(data.get(position).getNanm());}Overridepublic int getItemCount() {return datanull ? 0:data.size();}//创建ViewHolder类继承RecyclerView.ViewHolderpublic class MyViewHolder extends RecyclerView.ViewHolder {private TextView tv;public MyViewHolder(View itemView) {super(itemView);//找到控件tvitemView.findViewById(R.id.item);//点击设置监听itemView.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {//判断点击MonItemClickListener是否为空if (MonItemClickListener !null) {//对MonItemClickListener进行点击MonItemClickListener.OnRecyclerItemClickListener(getAdapterPosition());}}});}}private OnRecyclerItemClickListener MonItemClickListener;//设置点击监听事件用于外部引用public void setRecyclerItemClickListener(OnRecyclerItemClickListener listener){MonItemClickListenerlistener;}//创建点击类接口public interface OnRecyclerItemClickListener{void OnRecyclerItemClickListener(int postion);}
}第五步点击事件编写返回找到recyclerView控件的页面下进行点击事件编写myRadper.setRecyclerItemClickListener(new MyRadper.OnRecyclerItemClickListener() {
Overridepublic void OnRecyclerItemClickListener(int postion) {}
});第六步对recyclerView的界面布局显示进行编写然后对recyclerView的界面布局显示进行编写//布局
LinearLayoutManager linearLayout new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayout);recyclerView的界面总体是这样写的//找到控件
RecyclerView recyclerView findViewById(R.id.recyclerview);//recyclerView布局linearLayout
LinearLayoutManager linearLayout new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayout);//传输数据到adper适配器
MyRadper myRadpernew MyRadper(data,this);
recyclerView.setAdapter(myRadper);//进行点击事件做处理
myRadper.setRecyclerItemClickListener(new MyRadper.OnRecyclerItemClickListener() {
Overridepublic void OnRecyclerItemClickListener(int postion) {}
});