当RecyclerView有下拉刷新时,有时候设计图上,体现出来的列表有头部布局,这可以通过Adapter实现加载多套布局就可以,这里以加载两种布局为例说明。 先看看Adapt
当RecyclerView有下拉刷新时,有时候设计图上,体现出来的列表有头部布局,这可以通过Adapter实现加载多套布局就可以,这里以加载两种布局为例说明。
先看看Adapter的代码:
import Android.annotation.SuppressLint;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import com.alvin.R;
import java.util.ArrayList;
import java.util.List;
public class MainListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
private List<Data> list;
private ArrayList<ItemEntity> jdList;
private Context context;
public MainListAdapter(List<Data> list,ArrayList<ItemEntity> jdList, Context context) {
this.list = list;
this.jdList = jdList;
this.context = context;
}
@Override
public int getItemViewType(int position) {
return list.get(position).getShowType();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if(viewType==1){
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_header_main_list,parent,false);
return new HeaderHolder(view);
}else{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list_main,parent,false);
return new ViewHolderItem(view);
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if(holder instanceof HeaderHolder){
final HeaderHolder headerHolder = (HeaderHolder) holder;
//TODO 实现相关逻辑
}else if(holder instanceof ViewHolderItem){
}
}
@Override
public int getItemCount() {
return list.size();
}
private class HeaderHolder extends RecyclerView.ViewHolder{
HeaderHolder(View itemView) {
super(itemView);
}
}
private class ViewHolderItem extends RecyclerView.ViewHolder{
ViewHolderItem(View itemView) {
super(itemView);
}
}
}
getItemViewType()这个返回的是列表当前布局类型,在Adapter加载布局时,对齐进行判断,也就是onBindViewHolder()方法中进行相应的判断逻辑实现。
您可能感兴趣的文章:Android RecyclerView线性布局详解(1)Android开发中RecyclerView模仿探探左右滑动布局功能Android 中RecyclerView多种item布局的写法(头布局+脚布局)Android RecyclerView加载不同布局简单实现Android中RecyclerView布局代替GridView实现类似支付宝的界面Android RecyclerView布局就这么简单Android中RecyclerView上拉下拉,分割线,多条目的实例代码Android RecyclerView网格布局(支持多种分割线)详解(2)
--结束END--
本文标题: Android RecyclerView加载两种布局的方法
本文链接: https://www.lsjlt.com/news/22367.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0