在 RECYCLER VIEW 中添加页脚视图?

2023-12-12

我想在回收器视图的底部添加页脚布局。下面是我的适配器视图,它会膨胀页眉布局以及其他项目。感谢帮助!

public class SplitMembersAdapter extends RecyclerViewAdapter<SplitMember, SplitMemberViewHolder> {

        private final ArrayList<SplitMember> mSplitMembersList;
        private final ImageLoader mImageLoader;
        private static final int TYPE_HEADER = 0;
        private static final int TYPE_ITEM = 1;
        private int splitAmount;
        private boolean isAmountSplitted;

        public SplitMembersAdapter(ArrayList<SplitMember> members,ImageLoader imageLoader) {
            mSplitMembersList = members;
            mImageLoader = imageLoader;
        }

        @Override
        public int getItemCount() {
            return mSplitMembersList.size();
        }

        @Override
        public int getItemViewType(int position) {
            if (isPositionHeader(position)) {
                return TYPE_HEADER;
            }

            return TYPE_ITEM;
        }

        private static boolean isPositionHeader(int position) {
            return position == 0;
        }

        @Override
        public SplitMemberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
            View itemView = LayoutInflater.from(viewGroup.getContext()).
                    inflate(R.layout.split_member_item_layout, viewGroup, false);
            return new SplitMemberViewHolder(itemView);
        }

        @Override
        public void onBindViewHolder(SplitMemberViewHolder viewHolder, int position) {
            SplitMember contact = mSplitMembersList.get(position);
            viewHolder.splitMemAmount.setText(String.format("%.2f", contact.getShare()));
            viewHolder.splitMemberColor.setBackgroundColor(contact.getColor());
            if (position == TYPE_HEADER){
                viewHolder.splitMemName.setText("You");
                mImageLoader.loadImage(contact.getImg(),
                        viewHolder.splitMemImg, R.drawable.empty_user_placeholder);
            }


            else {
                viewHolder.splitMemName.setText(contact.getName());
                mImageLoader.loadImage(Utils.getProfileImageUrl(contact.getImg()),
                        viewHolder.splitMemImg,R.drawable.empty_user_placeholder);
            }

        }
    }

    class SplitMemberViewHolder extends RecyclerView.ViewHolder {

        public BezelImageView splitMemImg;
        public TextView splitMemName;
        public TextView splitMemAmount;
        public View splitMemberColor;

        public SplitMemberViewHolder(View itemView) {
            super(itemView);
            splitMemberColor = itemView.findViewById(R.id.member_color);
            splitMemImg = (BezelImageView) itemView.findViewById(R.id.member_profile_image);
            splitMemName = (TextView) itemView.findViewById(R.id.member_name);
            splitMemAmount = (TextView) itemView.findViewById(R.id.member_amount);
        }
    }

与添加页眉类似,也添加页脚。

public class SplitMembersAdapter extends RecyclerViewAdapter<SplitMember, SplitMemberViewHolder> {

        private final ArrayList<SplitMember> mSplitMembersList;
        private final ImageLoader mImageLoader;
        private static final int TYPE_HEADER = 0;
        private static final int TYPE_ITEM = 1;
        private static final int TYPE_FOOTER = 2;
        private int splitAmount;
        private boolean isAmountSplitted;

        public SplitMembersAdapter(ArrayList<SplitMember> members,ImageLoader imageLoader) {
            mSplitMembersList = members;
            mImageLoader = imageLoader;
        }

        @Override
        public int getItemCount() {
            return mSplitMembersList.size();
        }

        @Override
        public int getItemViewType(int position) {
            if (isPositionHeader(position)) {
                return TYPE_HEADER;
            }ELSE if (isPositionFooter(position)) {
                return TYPE_Footer;
            }
            return TYPE_ITEM;
        }

        private static boolean isPositionHeader(int position) {
            return position == 0;
        }

        private static boolean isPositionFooter(int position) {
            return position == mSplitMembersList.size()-1;
        }

        @Override
        public SplitMemberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {

            switch(viewType){
               case TYPE_HEADER:
                 //return header view holder;
               break;
               case TYPE_ITEM:
                 //return item view holder;
                break;
               case TYPE_FOOTER:   
                 //return footer view holder;
               break;
           }
        }

        @Override
        public void onBindViewHolder(SplitMemberViewHolder viewHolder, int position) {
               switch(getItemViewType(position)){
               case TYPE_HEADER:
                 //bind header data;
               break;
               case TYPE_ITEM:
                 //bind item data
                break;
               case TYPE_FOOTER:   
                 //bind footer data.
               break;
           }
        }
    }

    class SplitMemberViewHolder extends RecyclerView.ViewHolder {

        public BezelImageView splitMemImg;
        public TextView splitMemName;
        public TextView splitMemAmount;
        public View splitMemberColor;

        public SplitMemberViewHolder(View itemView) {
            super(itemView);
            splitMemberColor = itemView.findViewById(R.id.member_color);
            splitMemImg = (BezelImageView) itemView.findViewById(R.id.member_profile_image);
            splitMemName = (TextView) itemView.findViewById(R.id.member_name);
            splitMemAmount = (TextView) itemView.findViewById(R.id.member_amount);
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 RECYCLER VIEW 中添加页脚视图? 的相关文章

随机推荐

  • 使用命令行调用 IISExpress 来托管 ASP.NET Core 应用程序 [重复]

    这个问题在这里已经有答案了 我有一个服务依赖于许多其他服务 在开发期间 我只是启动所有其他服务 手动使用 VS 2017 为了避免该步骤 我尝试使用以下命令创建一个批处理文件 以使用 IISExpress 托管我的 ASP NET Core
  • SSIS BIML 生成带括号的 SQL 代码

    我使用 BIML 为 SSIS 动态创建加载包 以将数据从 Informix 加载到 SQL Server 问题是这个 BIML 代码生成下面的 SQL
  • 使用jsonpath获取父节点

    使用节点JSONPath 如何从子节点值获取父节点名称 store book id 1 author Nigel Rees title Sayings of the Century price 8 95 id 2 author Evelyn
  • 为什么当enter()被链式调用时,D3.js数据仅对子节点可用,而不是单独调用

    我正在尝试遵循迈克 博斯托克 Mike Bostock 的说法似乎表明是最佳实践 即分配你的selectAll 到一个变量 然后分离出更新 enter 和exit 但我注意到 V4 中有一个我无法解释的差异 考虑以下工作代码 Bind an
  • Aurelia 动态绑定

    我创建了一个生成表格数据的自定义元素 出于充分的理由 这会生成实际的 HTML 并插入到 DOM 中 而无需使用模板 我需要将点击观察器附加到特定元素 以便我可以在自定义元素中运行函数来响应点击 如果使用模板 我会使用 click dele
  • 使用带有整数的 scanf 的分段错误[重复]

    这个问题在这里已经有答案了 当尝试使用以下函数读取用户的整数输入时 我的 C 代码中出现分段错误 int userChoice 0 tS float tR tW tP aP char title 35 title2 35 Book curr
  • 在 Laravel 中反序列化数据

    我将购物车数据保存到orders表与serialize方法 现在在我的订单 查看 页面中 我想将它们显示给用户以显示他们的订单历史记录 如何将以前序列化的数据恢复为 PHP 中可用的对象 数组 我保存数据的代码片段 order gt car
  • 设置 php-fpm 默认配置文件位置

    我已经从源代码 php php fpm nginx 构建了几次 我习惯把所有东西都藏在里面 usr local 然而 php fpm 配置文件php fpm conf总是加载自 etc 当然我可以用以下命令更改位置 y启动 php fpm
  • “连接被对等方重置”是什么意思?

    TCP 连接上的 连接被对等方重置 错误是什么意思 这是致命错误还是只是通知或与网络故障有关 这是致命的 远程服务器已向您发送了 RST 数据包 这表明连接立即断开 而不是通常的握手 这绕过了正常的半封闭状态转换 我喜欢这个描述 对等方重置
  • Spring Batch:使用新线程从 Spring MVC 控制器中启动作业

    我有一个从 Spring MVC 控制器启动的 Spring Batch 作业 控制器从用户处获取上传的文件 并且作业应该处理该文件 RequestMapping value upload public ModelAndView uploa
  • 声音将在 Eclipse 中播放,但不会在导出的 jar 文件中播放

    当我运行 JAR 时 声音不播放 但当我在 Eclipse 中运行它时 声音会播放 这是我加载剪辑的位置 文件是从 jar 的目录加载的 而不是从 jar 内加载 public void init System out println gr
  • Firebase 崩溃无法读取

    我在阅读 FireBase 上的崩溃报告时遇到问题 我的报告如下所示 我已经关注了这些说明来表示堆栈跟踪 得到了相同的结果 我正在使用 Xcode 8 我的应用程序是用 Swift 3 制作的 已经在我的中写了 FIRApp configu
  • 如何在 flutter 中制作自定义按钮形状

    I am working on a project and i want to achieve a button 我怎样才能轻松地做出这个形状 您可以使用定制画家 看一下这个很好的例子关于如何使用这个 这是您想要实现的一个小示例 虽然我没有
  • 为 Log4j 配置 Eclipse

    我正在开发一个使用 apache jena 的应用程序 以使用 sparql 访问 dbpedia 嗯 我对 DBPedia 和 apache jena 非常陌生 我做了一些研究并开始使用一些示例代码来创建 VCARD 公共类 DpPedi
  • 如何从 SQLite 获取最近 3 小时的数据

    我正在使用当前系统时间在表中插入数据 例如System currentTimeMillis 因此 在获取数据时 我只需要获取最近 3 小时的数据 以下链接对我没有帮助 因为这个链接使用了我没有的特定日期格式 从sqlite中根据最近几个小时
  • 事件 - 文档已编辑

    编辑文档时是否有事件 如果没有 有谁知道我在哪里可以找到可用 VBA 事件的列表 以下是文档对象的事件 http msdn microsoft com en us library aa140279 office 10 aspx Events
  • 关于 Runtime.getRuntime().totalMemory() 的问题

    以下函数用于计算内存使用情况 private static long getMemoryUse putOutTheGarbage long totalMemory Runtime getRuntime totalMemory putOutT
  • 单一资源的嵌套 form_

    我有一个单一的嵌套资源 如下所示 map resources bookings member gt rate gt post do booking booking resource review end 给我这些路线 new booking
  • 什么是银行冲突? (进行Cuda/OpenCL编程)

    我一直在阅读 CUDA 和 OpenCL 的编程指南 但我无法弄清楚银行冲突是什么 他们只是深入研究如何解决问题 而不详细说明主题本身 有人能帮我理解吗 如果帮助是在 CUDA OpenCL 的背景下 或者只是计算机科学中一般的银行冲突 我
  • 在 RECYCLER VIEW 中添加页脚视图?

    我想在回收器视图的底部添加页脚布局 下面是我的适配器视图 它会膨胀页眉布局以及其他项目 感谢帮助 public class SplitMembersAdapter extends RecyclerViewAdapter