RecyclerView加载不同布局
来源:互联网 发布:手机怎么开淘宝直通车 编辑:程序博客网 时间:2024/05/02 00:59
当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()方法中进行相应的判断逻辑实现。
0 0
- RecyclerView加载不同布局
- RecyclerView加载不同布局
- recyclerview加载不同的布局
- RecyclerView点击事件、加载不同布局
- CoordinatorLayout +RecyclerView+加载不同布局的item
- Android RecyclerView加载不同布局简单实现
- CoordinatorLayout +RecyclerView+加载不同布局的item
- 自己总结的Recyclerview加载不同布局
- Android Studio 使用RecyclerView加载不同样式布局
- RecyclerView多布局加载
- Android recyclerview加载不同item
- RecyclerView加载两套布局
- RecyclerView加载不同类型的布局
- listView加载不同布局
- ListView加载不同布局
- ListView加载不同布局
- Listview加载不同布局
- listview加载不同布局
- [转]C语言变长数组 struct中char data[0]的用法
- Session、Dialog和Transaction的区别
- java遍历List的三种方法
- PS黑白命令
- 免费馅饼
- RecyclerView加载不同布局
- Python高级编程-14设计模式
- spring学习(四)—属性注入的四种方法(通过配置文件)
- 输出由“*”星号组成的等腰三角形(1H)
- centos7解压文件命令(zip)
- 【Ionic+AngularJS 开发】之『个人日常管理』App(一)
- MxNet系列——model_zoo——index
- MongoDB安装与使用体验
- 呱哩哗啦网页操作系统v2.0发布,更优秀的云办公系统,有视频演示