无法编写一种算法来根据每个项目的长期保存来过滤 RecyclerView 中的项目

2023-12-26

我有几件物品RecyclerView每个项目都有一个long随之保存的价值。我在用着快速适配器 https://github.com/mikepenz/FastAdapter作为我的适配器RecyclerView.

假设有 7 个项目RecyclerView与长值:11122, 12321, -98811, 8870, -88009, 3398, and -22113.

So, 我想要什么我要做的是,我想使用以下逻辑根据上面给定的长值过滤项目:

if (l <= 1000) {
  // show items with long value <=1000
} else if (l > 1000) {
  // show items with long value >1000
}

我尝试了各种方法,但没有任何结果。

UPDATE 1:这里的项目是存储在中的一种不同的数据CardView然后显示在RecyclerView。每张卡包含不同的数据,其中之一是上面给出的long价值观。我想根据这些过滤数据long根据上面给出的逻辑存储在每张卡中的值。

请帮助我解决这个问题,并建议一些我可以实现这一目标的算法或代码。


根据给出的信息量,我只能假设l是一个外部选择器值,它控制要在内部显示的项目RecyclerView。如果不是这种情况,请在下面评论,我会尝试纠正我的答案。

我建议实施自定义ViewAdapter,发送项目列表和选择器变量l使用各自的方法:

public class ItemsAdapter extends 
    RecyclerView.Adapter<ItemsAdapter.ItemViewHolder> {

    private List<Long> mItemList;
    private List<Long> mDisplayItems;
    private boolean mAboveThousand = true;

    public void setItemList(List<Long> list) {
        mItemList = list;
        updateDisplayItems();
    }

    public void setSelectionType(boolean aboveThousand) {
        mAboveThousand = aboveThousand;
        updateDisplayItems();
    }

    private updateDisplayItems() {
        mDisplayItems.clear();

        for(Long item: mItemList) {
            if(/*check your contition*/) {
                mDisplayItems.add(item);
            }
        }

        notifyDataSetChanged(); //important
    }

    ...
    // Rest of implementation
}

另外,我从未使用过 FastAdapter,但我想如果您扩展它的类,则必须重写一些方法。

Update

因为,您面临着理解使用 a 的基础知识的问题。ViewAdapter,我建议学习并实施自定义ViewAdapter在使用任何库之前。Here https://guides.codepath.com/android/using-the-recyclerview这是关于如何实施的详细教程ViewAdapter对于 RecyclerView。

现在,在实现 ViewAdapter 后,您可以使用我的代码来过滤卡片。基本上,代码所做的就是保存所有所需数据的列表mItemList, while mDisplayList是一个列表,存储要显示的项目,每次都会更新mAboveThousand,存储大于或小于1000的用户偏好。现在这个mDisplayList必须用于填充 RecyclerView 内的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法编写一种算法来根据每个项目的长期保存来过滤 RecyclerView 中的项目 的相关文章

随机推荐

  • 如何去除android中圆形图像视图周围的黑色背景

    我使用 CircularImageView 库创建了圆形图像视图 我在布局中遇到圆形图像周围有黑色背景的问题 我尝试解决此问题 但未能解决此问题 以下代码是CircularImageView java文件 package de hdoden
  • 模块名称与目录名称不同?

    假设我有一个名为的 python 包bestpackage 公约规定bestpacakge也将是一个目录sys path其中包含一个 init py让解释器假设它可以从中导入 有什么方法可以为包名称设置一个变量 以便目录可以命名为与我导入它
  • UnsatisfiedLinkError - 知道如何解决这个问题吗?

    Exception in thread main java lang reflect InvocationTargetException at sun reflect NativeMethodAccessorImpl invoke0 Nat
  • 我在 Scala 中同步什么对象?

    在 C 中 这非常简单 class Class1 private static readonly object locker new object void Method1 lock locker 我绝对不应该同步this因为这可能会导致僵
  • PHP 中带有标头的curl 请求

    我想向 URL 发出 cURL 请求以及以下标头 内容类型 application json 授权 基本 XXXXXXXXXX 我有以下代码
  • 如何在传感器中添加点击方法

    我已经在一位程序员同事的帮助下成功创建了以下代码 import android app Activity import android graphics Color import android hardware Sensor import
  • 堆栈空异常

    我收到堆栈空异常 如果堆栈不为空 有 16 个项目 这怎么可能 我得到了错误的快照 有人可以解释一下吗 You must使用类似的东西时同步访问Stack
  • Rails3 CSV 用“”代替实际引号

    类似于这个问题 https stackoverflow com questions 3885687 ruby on rails csv putting quotquot instead of actual quotes除非我不使用html
  • RAISERROR() 的语法含义是什么

    我刚刚创建了一个 Replace After 触发器 其语法如下 Create trigger tgrInsteadTrigger on copytableto Instead of Insert as Declare store name
  • MIPS 汇编中的 C 数组索引?

    问题 void swap int v int k int temp temp v k v k v k 1 v k 1 temp 我的问题是为什么 intv 被添加 t1 无论是谁做的 甚至都没有发表评论 所以我假设 a0 isv and a
  • Dropzonejs - 上传前重命名文件

    我已经设置了 dropzone 并使用我的 AWS S3 帐户 不过 我希望能够在将文件发送到 S3 之前对其进行重命名 例如附加时间戳 以便与现有文件同名上传的文件不会被覆盖 我尝试在发送事件中捕获此问题并更新文件名 但没有成功 this
  • 如何使 DataGridViewLinkColumn 与 DataGridView 的其余部分一起排序

    我使用 DataTable 作为数据源填充了 DataGridView 该数据源有一个包含注释的列 我隐藏此列作为要求的一部分 并添加了一个新的 DataGridVewLinkColumn 单击该列时用户将能够看到该评论 我的问题是 当我通
  • ember-cli 使用 Bower 添加依赖项

    所以 我想在 ember 应用程序中玩一下 typeahead 我启动并运行了一个 cli 应用程序 然后运行 bower install typeahead js 可以看到代码已经放入bower components中了 然后我将以下内容
  • Extjs4-远程验证

    我想要一个用于文本字段的远程验证器 我的 PHP 返回 true false 值 我尝试过这样的事情 xtype textfield fieldLabel Field allowBlank false validator function
  • 使用 window.print() 时可以更改页面布局吗?

    在我们的应用程序中 我们允许用户打印页面 我们通过提供一个按钮来做到这一点 当单击该按钮时调用 window print 函数 有些页面如果以横向模式而不是纵向模式打印 看起来会更好 有没有办法通过 JavaScript 控制页面布局 更新
  • Visual Studio 构建 C# 解决方案生成的 $RANDOM_SEED$ 文件是什么?

    我们注意到 在某个开发计算机上 C 解决方案的 Visual Studio 2015 更新 3 调试版本正在生成 RANDOM SEED 文件以及每个构建的 DLL 文件的内容只是一个数字 例如1443972318 删除文件然后重建会导致文
  • 使用哪个版本的 Python 才能获得最大兼容性

    如果我要使用 Python 启动一个开源项目 我应该使用什么版本来确保绝大多数用户可以在他们的系统上使用它 我是那种会快速跳到下一个版本的人 当 Python 3 发布时我会这样做 但如果他们当前的版本似乎运行良好 很多人可能会更加保守 哪
  • 等待套接字时是否可以冻结?

    socket on res function data peanuts data abc function peanuts socket emit req index while peanuts 0 return peanuts 0 就这样
  • 为什么 ant.bat 在以编程方式运行时不返回错误状态?

    当我从命令行运行 ant 时 如果出现故障 我会得到非零退出状态 UNIX 上为 Windows 上为 ERRORLEVEL 但是我们有一个正在运行 ant 的 Java 程序 通过 ProcessBuilder 当 ant 失败时 在 W
  • 无法编写一种算法来根据每个项目的长期保存来过滤 RecyclerView 中的项目

    我有几件物品RecyclerView每个项目都有一个long随之保存的价值 我在用着快速适配器 https github com mikepenz FastAdapter作为我的适配器RecyclerView 假设有 7 个项目Recycl