iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android RecyclerView加载两种布局的方法
  • 491
分享到

Android RecyclerView加载两种布局的方法

方法布局recyclerviewAndroid 2022-06-06 04:06:01 491人浏览 安东尼
摘要

当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文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作