RecycleView添加头布局尾布局

RecyclerView添加Header的正确方式 看了一下博客目录,已经有好几篇博客是关于RecyclerView的,不过对于这么一款强大的控件,我还是要再写一篇博客来学习一下,这篇博客的主题是《为RecyclerView添加header》,当然在看完这篇博客后,相信添加Footer你也应该能够学会。话说在这么多新控件中为何RecyclerView备受开发者的喜爱?这还是因为在Android发展到今天基本上还没有像RecyclerView这么灵活的 阅读详情

所有得逻辑操作都在adapter中

package com.example.myapplication;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

/**
 * Created by pw on 2019/2/26 19:35
 * E-Mail Address: pw163.com
 */
public class RecycleViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private final ArrayList<Datas> datas;
    private final MainActivity context;
    private final LayoutInflater minflater;
    private final static int ITEM_HEADER=0;
    private final static int ITEM_CONTENT=1;
    private final static int ITEM_FOOT=2;
    /**
     * 头布局和尾布局的数量
     */
    private int mHeader=1;
    private int mFoot=1;
    
    public RecycleViewAdapter(ArrayList<Datas> arrayList, MainActivity mainActivity) {
        this.datas = arrayList;
        this.context = mainActivity;
        minflater = LayoutInflater.from(context);
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {

        if (viewType == ITEM_CONTENT){
            View contentView = minflater.inflate(R.layout.item_recycle, viewGroup, false);
            return new ViewHolder(contentView);
        }
        if (viewType == ITEM_HEADER){
            View headerView = minflater.inflate(R.layout.item_head, viewGroup, false);
            return new HeaderViewHdlder(headerView);
        }
        if (viewType == ITEM_FOOT){
            View footView = minflater.inflate(R.layout.item_foot, viewGroup, false);
            return new FootViewHolder(footView);
        }

        return null;

    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int postion) {
        if (viewHolder instanceof ViewHolder){
            ((ViewHolder)viewHolder).tv_name.setText(datas.get(postion-mHeader).getName());
            ((ViewHolder)viewHolder).tv_age.setText(datas.get(postion-mHeader).getAge()+"");
        }
        if (viewHolder instanceof FootViewHolder){
            ((FootViewHolder)viewHolder).tv_foot.setText("说啥呢啊");
            ((FootViewHolder)viewHolder).tv_foots.setText("哈哈哈");
        }
    }

    @Override
    public int getItemCount() {
        return datas.size()+mHeader+mFoot;
    }

    @Override
    public int getItemViewType(int position) {
        if (mHeader != 0 && position<mHeader){
            return ITEM_HEADER;
        }
        if (mFoot != 0 && position>=datas.size()+mHeader){
            return ITEM_FOOT;
        }
        return ITEM_CONTENT;
    }

    class ViewHolder extends RecyclerView.ViewHolder{
        TextView tv_name;
        TextView tv_age;
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            tv_name = itemView.findViewById(R.id.tv_names);
            tv_age = itemView.findViewById(R.id.tv_ages);
        }
    }

    class HeaderViewHdlder extends RecyclerView.ViewHolder{
        public HeaderViewHdlder(@NonNull View itemView) {
            super(itemView);
        }
    }

    class FootViewHolder extends RecyclerView.ViewHolder{
        private final TextView tv_foot;
        private final TextView tv_foots;
        public FootViewHolder(@NonNull View itemView) {
            super(itemView);
            tv_foot = itemView.findViewById(R.id.tv_foot);
            tv_foots = itemView.findViewById(R.id.tv_foots);
        }
    }
}

 

RecyclerView添加头布局让头布局随之一起滑动 今天学习到了RecyclerView,有人提出让我在RecyclerView前面添加头部,之前写ListView的时候可以添加HeaderView,但是现在显然没有了,怎么办呢?在网上查了一圈发现都有点复杂,那没办法了,慢慢来写呗,但是我并没有给头部添加点击事件。就是简单的展示一下怎么添加头部。 效果图 那么实现这样的布局就用到了RecyclerView, RecyclerView的具体创建方法... 阅读详情

相关推荐

Android实现为GridView添加边框效果

主要为大家详细介绍了Android实现为GridView添加边框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Android RecyclerView添加头部和底部布局,支持上拉刷新、下拉加载

本文参考辉哥的博客RecyclerView更全解析之 - 打造通用的下拉刷新上拉加载进行实现,具体代码实现思路可查看原博客,目的是通过自定义自己实现添加头部、添加底部、上拉加载、下拉刷新功能。通过自己动手实现一套下拉刷新上拉加载框架,了解了RecyclerView添加Header以及Footer的实现原理,通过本次学习也看到了代码剥离拆分以及设计模式运用的重要性,写代码一定要多思考,才能写出让人赏心悦目的代码。

故不积跬步无以至千里 4550

东方财富网股票API逆向分析:手把手教你破解动态参数(2024最新版)

本文详细解析了2024年东方财富网股票API的动态参数生成机制,包括回调函数、身份验证和时效控制参数的逆向工程方法。通过实战代码演示,帮助开发者破解动态参数,实现高效稳定的股票数据爬取,适用于金融数据分析和量化交易场景。

weixin_29091105的博客 1026

RecyclerView正确添加Header

RecyclerView正确添加Header欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导...

bxy2zjj1314的博客 1385

openwrt编译及第一个安装包教程

Date: 2017.03.14 Made:SuperDeverloper Email: na1206@live.com Target: For mt7688 based board说明:本人在学习过程中走了不少弯路,希望本文档能为后来者提供便利。欢迎复制和使用本文档。本文档记录了搭建openwrt编译环境以及快速创建ipk包(openwrt上的安装程序)。本文档在实际应用中做过几次修改,以帮

SuperDevloper的博客 1万+

深入SVT SPI VIP配置:如何灵活控制CS间隔、数据帧大小与时钟频率(含代码片段)

本文深入探讨了SVT SPI VIP的高级配置技巧,包括精确控制CS信号间隔、突破数据帧大小限制以及动态时钟频率切换。通过实战代码片段和详细配置步骤,帮助验证工程师灵活应对复杂SPI协议验证场景,提升验证效率和覆盖率。特别适合需要处理非标准SPI时序和特殊数据帧的芯片验证项目。

weixin_27014595的博客 280

RecyclerView系列之增加header

一、背景 在RecyclerView还没出来时,列表布局基本都是用 ListView,app 中一般都会有这种设计,上面一个 banner 轮播图,下面一个列表,特别是一些电商类,新闻类 app。 下面是最终效果: 向上滑动列表时,上面的轮播图就会被滑上去,显然是一体的,用 ListView 时,可以把上面的轮播图控件作为一个 HeaderView 加到 ListView 中,爽的是 ListV...

Aislli的博客 2384

【事件相机实战】噪声识别与智能滤波技术解析

本文深入解析了事件相机应用中关键的噪声识别与智能滤波技术。针对背景活动噪声、阈值波动噪声、热点噪声及运动边缘尾迹等核心噪声类型,文章剖析了其成因与特征,并详细介绍了从经典的时空相关性滤波、热点像素滤除到前沿的深度学习(如EDnCNN)等实战滤波方法,旨在帮助开发者在保证低延迟的前提下,有效提升事件流数据质量。

weixin_29169899的博客 439

手把手教你给RecycleView添加头布局和尾布局

RecycleView想必大家都不陌生,它已他的高拓展性取代了传统布局显示,同时配合协调布局,可以实现很多意想不到的酷炫交互,今天就和大家介绍一下,如何给RecycleView添加头布局和尾布局,同时你也可以通过自己的拓展实现更多复杂的布局。 首先我们先看一下效果: 实现头部尾部布局其实方法还是很多,这里我推荐使用Adapter设置itemType来做,那么问题来了,为什...

diebing0439的博客 291

告别过热焦虑:用Ansys Icepak给你的电子设备做个“水冷体检”(附冷板案例全流程)

本文详细介绍了如何利用Ansys Icepak进行电子设备水冷系统的热仿真分析,帮助工程师解决设备过热问题。通过冷板案例全流程演示,展示了从几何处理、材料设定到求解器设置和后处理的关键步骤,提升散热设计效率与准确性。

weixin_29299807的博客 441

ADS基础教程20 - 电磁仿真(EM)参数化仿真

一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号四、总结1)在Layout视图,菜单栏中选中EMComponent2)在弹出的参数编辑框中,采用标称/扰动()设计。使用子网(Subnetwork)参数。这些方法是互斥的,在为单个组件定义参数时不能将它们组合起来。标称/扰动(Nominal/Perturbed)参数使用平面化布局场景,并且只包含端口和原始图形形状(如多边形、矩形和圆形)时定义。

XZ_ZC的博客 4029

android 给多列的RecycleView添加头布局

在工作中遇到商城类的界面,界面上半部分是viewpager,下部分是多列的GridView,具体实现: 1、在设置RecycleView的manager时使用GridlayoutManager的 setSpanSizeLookup属性设置头布局所占的宽度: manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup()

yikunhan的博客 2056

华为OD机考双机位C卷 - 员工派遣 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 员工派遣 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1035

RecycleView加头布局和尾布局

RecycleView万能适配器ViewHolder主页面INTERESTING!!! 其实这就是一种写法和一种思路,并不难 主要是为了实现布局自由(头和尾) 思路是 先将头尾布局传进适配器, 在返回条目类型和绑定时进行判断是否赋值 思路简单,还是看代码吧 public class XMyAdapter extends RecyclerView.Adapter<VHolder> { ...

qiu_suo的博客 231

AIPex:AI + 自然语言驱动的浏览器自动化扩展

AIPex是一款革命性的Chrome扩展,通过AI技术实现自然语言驱动的浏览器自动化。它支持30多种自动化工具,包括智能标签页管理(分组、切换、批量操作)、页面内容提取(文本、链接、元数据)、交互元素操作(点击、滚动)以及表单智能填写等功能。用户只需用自然语言下达指令,即可快速完成复杂的浏览器操作,大幅提升工作效率。AIPex特别适合需要处理大量重复性网页操作的用户,如数据分析师、产品经理等。

blues_C的博客 1127

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RecycleView添加头布局底布局,点击事件,多布局

Activity: 1:初始化控件 @BindView(R.id.recyclerviewhead) public RecyclerView recyclerviewhead; public ArrayList&lt;String&gt; data ; public MyRecycleViewAdapter adapter; :添加数据 ButterKnife.bind(this); /...

qq_35957672的博客 628

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

第十九天-RecyclerView添加头布局、尾布局和RecyclerView扩展侧滑删除

第十九天-RecyclerView添加头布局、尾布局和RecyclerView扩展侧滑删除RecyclerView添加头布局步骤代码实现1、布局文件:2、代码实现3、 效果展示RecyclerView扩展侧滑删除SwipLayout注意常用方法代码:注意:其他代码上方均有代码图片!!! RecyclerView添加头布局 步骤 1、添加表示类型的常量(头、尾、普通) 2、ViewHolder类中将...

王号伦-WZL 451

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RecyclerView添加头布局和尾布局

1,添加一个头布局 - 1,Xml布局 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;android.support.constraint.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&qu

EleganceKing的博客 9133

RecyclerView 添加头布局 和 底布局

RecyclerView 添加头布局 和 底布局 RecyclerView 默认是没有添加头部和底部布局的方法。而在listView我们经常会用到list.addHreadView,list.addFooterView,而在recyclerView是不提供这种方法的,这可如何是好。于是观察了listView 是如何添加头布局和底部布局的,模拟li...

tiger_gy的博客 3387

RecycleView添加头布局显示异常的问题

最近项目中的列表都是用recycleview做的,有些需要添加头布局,可是头布局在模拟器显示正常,但是在真机显示的宽度为正常的一半。通过查看其他资料知道,recycleview的头布局根节点不能为Linearlayout.在自己布局之外套个相对布局就可以了

xunhaifeng521的博客 2201

Android 为Recyclerview添加头布局,下拉刷新,上拉加载

框架地址:https://github.com/XRecyclerView/XRecyclerView本文只是针对这个框架的使用1、引入依赖: compile 'com.jcodecraeer:xrecyclerview:1.3.2'2、布局使用XRecycler:&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;com.jcodecraeer.x...

随风的博客 1608

RecycleView滑动计算

在网上搜了很多关于计算RecycleView的文章,发现大多数都是如果LayoutManager用的是LinearLayoutManager,就用下面的方法获取滑动距离 public int getScollYDistance(RecyclerView view) { LinearLayoutManager layoutManager = (LinearLayoutManager) view....

nongrou6943的博客 325

安卓 recycleview 手动添加头尾布局

相对于listview 可以有专门的api 添加headView 和FootView recycleview 需要动态的配置 package com.example.helloworld.widget; import android.content.Context; import android.util.AttributeSet; import android.view.View; import androidx.annotation.NonNull; import androidx.annota.

awesomeCEO的博客 394

设置recycleView得滑动监听来实现头布局得颜色透明度状态改变

一般会在我们得 oncreat 里面 //设置状态栏根据滑动 透明度变化 MyScrow scrow = new MyScrow(this); scrow.onBindScrow(recyclerView); 然后是直接在我们得这个类MyScrow中进行一些滑动逻辑得操作。 package com.example.myapplication; impo...

mintent的博客 1116
上一篇: 非常简单的一个列表管理器BaseQuickAdapter(可以添加头布局尾布局)
下一篇: 修改沉浸式状态栏,改为全透明,和头部图片颜色一致
green-Fir
博客等级 码龄9年 15粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值