Android RecyclerView加载两种布局的方法
短信预约 -IT技能 免费直播动态提醒
当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)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341