全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android RecyclerView加载两种布局的方法

当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 


相关文章: 非常酷的网站设计制作软件,酷培ai教育官方网站?  如何快速查询网站的真实建站时间?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何制作网站标识牌,动态网站如何制作(教程)?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  网站企业制作流程,用什么语言做企业网站比较好?  清除minerd进程的简单方法  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  专业商城网站制作公司有哪些,pi商城官网是哪个?  C++中引用和指针有什么区别?(代码说明)  如何在阿里云域名上完成建站全流程?  微课制作网站有哪些,微课网怎么进?  如何在香港服务器上快速搭建免备案网站?  C#如何序列化对象为XML XmlSerializer用法  C++如何使用std::optional?(处理可选值)  如何选择CMS系统实现快速建站与SEO优化?  详解jQuery中基本的动画方法  如何快速使用云服务器搭建个人网站?  家具网站制作软件,家具厂怎么跑业务?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  MySQL查询结果复制到新表的方法(更新、插入)  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何在IIS服务器上快速部署高效网站?  免费视频制作网站,更新又快又好的免费电影网站?  如何用搬瓦工VPS快速搭建个人网站?  如何在腾讯云免费申请建站?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  建站之星展会模版如何一键下载生成?  如何在建站之星绑定自定义域名?  如何破解联通资金短缺导致的基站建设难题?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Java解压缩zip - 解压缩多个文件或文件夹实例  PHP 500报错的快速解决方法  网站好制作吗知乎,网站开发好学吗?有什么技巧?  javascript中对象的定义、使用以及对象和原型链操作小结  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  网站制作难吗安全吗,做一个网站需要多久时间?  济南企业网站制作公司,济南社保单位网上缴费步骤?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  网站制作软件免费下载安装,有哪些免费下载的软件网站?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何高效生成建站之星成品网站源码?  如何选择香港主机高效搭建外贸独立站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  c# await 一个已经完成的Task会发生什么  如何快速搭建高效WAP手机网站吸引移动用户? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。