Android RecyclerView加载两种布局的方法
发布时间 - 2026-01-10 22:56:11 点击率:次当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()方法中进行相应的判断逻辑实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# RecyclerView加载不同布局
# Adapter加载多套布局
# RecyclerView加载两种布局
# Android RecyclerView实现多种item布局的方法
# Android RecyclerView显示Item布局不一致解决办法
# Android RecyclerView加载不同布局简单实现
# Android开发中RecyclerView模仿探探左右滑动布局功能
# Android RecyclerView布局就这么简单
# Android RecyclerView网格布局示例解析
# Android列表RecyclerView排列布局
# Android RecyclerView多类型布局卡片解决方案
# Android实现RecyclerView嵌套流式布局的详细过程
# 加载
# 的是
# 两种
# 为例
# 这可
# 大家多多
# 就可以
# 图上
# 多套
# BaseAdapter
# alvin
# util
# ViewGroup
# LayoutInflater
# view
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何快速搭建高效服务器建站系统?
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
,网页ppt怎么弄成自己的ppt?
音响网站制作视频教程,隆霸音响官方网站?
Laravel如何使用Collections进行数据处理?(实用方法示例)
如何在阿里云高效完成企业建站全流程?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
UC浏览器如何设置启动页 UC浏览器启动页设置方法
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
免费视频制作网站,更新又快又好的免费电影网站?
手机软键盘弹出时影响布局的解决方法
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel Docker环境搭建教程_Laravel Sail使用指南
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
高端云建站费用究竟需要多少预算?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel如何实现本地化和多语言支持?(i18n教程)
如何用好域名打造高点击率的自主建站?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
bing浏览器学术搜索入口_bing学术文献检索地址
JavaScript如何实现错误处理_try...catch如何捕获异常?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
图册素材网站设计制作软件,图册的导出方式有几种?
JS经典正则表达式笔试题汇总
Android自定义控件实现温度旋转按钮效果
深圳网站制作培训,深圳哪些招聘网站比较好?
微信小程序 五星评分(包括半颗星评分)实例代码
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
node.js报错:Cannot find module 'ejs'的解决办法
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel如何使用.env文件管理环境变量?(最佳实践)
北京企业网站设计制作公司,北京铁路集团官方网站?
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
iOS验证手机号的正则表达式
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
电商网站制作价格怎么算,网上拍卖流程以及规则?
JS去除重复并统计数量的实现方法
JavaScript Ajax实现异步通信
Android 常见的图片加载框架详细介绍

