首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

由于未设置mOriginalValues,安卓ArrayAdapter无法过滤

问题:由于未设置mOriginalValues,安卓ArrayAdapter无法过滤。

答案:在安卓开发中,ArrayAdapter是一种常用的适配器,用于将数据集合绑定到ListView或Spinner等控件上。当我们需要对ListView中的数据进行过滤时,可以使用ArrayAdapter的过滤功能。然而,有时候在使用ArrayAdapter进行过滤时会遇到"由于未设置mOriginalValues,无法过滤"的问题。

这个问题通常是由于没有正确设置ArrayAdapter的mOriginalValues属性导致的。mOriginalValues是ArrayAdapter的一个私有属性,用于保存原始的数据集合。当我们调用ArrayAdapter的getFilter()方法进行过滤时,它会尝试从mOriginalValues中获取原始数据进行过滤操作。

解决这个问题的方法是在创建ArrayAdapter时,将原始的数据集合传递给它,并设置给mOriginalValues属性。具体的步骤如下:

  1. 创建一个ArrayList或Array等数据集合,用于保存原始数据。
  2. 创建ArrayAdapter时,将原始数据集合传递给它。
  3. 在ArrayAdapter对象上调用setNotifyOnChange(true)方法,以确保数据变化时能够及时更新。
  4. 在ArrayAdapter对象上调用getFilter()方法进行过滤操作。

以下是一个示例代码:

代码语言:txt
复制
ArrayList<String> originalData = new ArrayList<>();
originalData.add("Apple");
originalData.add("Banana");
originalData.add("Orange");

ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, originalData);
adapter.setNotifyOnChange(true);

ListView listView = findViewById(R.id.listView);
listView.setAdapter(adapter);

// 进行过滤操作
adapter.getFilter().filter("A");

在上述代码中,我们创建了一个包含"Apple"、"Banana"和"Orange"的原始数据集合originalData,并将它传递给ArrayAdapter。然后,我们调用setNotifyOnChange(true)方法启用数据变化的通知,并将ArrayAdapter设置给ListView。最后,我们调用getFilter()方法进行过滤操作,传入过滤条件"A"。

对于这个问题,腾讯云没有特定的产品或服务与之直接相关。然而,腾讯云提供了丰富的云计算解决方案,包括云服务器、云数据库、云存储等,可以帮助开发者构建稳定、可靠的云计算应用。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

安卓强制恢复出厂recovery无命令_在recovery模式下无法恢复出厂设置

意思是说,不能加载正常的安卓系统,可能数据损坏,如果你继续收到此消息,请执行恢复出厂设置擦除所有的用户数据 我们查看下recovery的log: cat /tmp/recovery.log [...最后的解决方法是,救援程序使设备重新启动并进入恢复模式,然后提示用户恢复出厂设置。 Android 兼容性定义文档并未要求提供此类救援功能,但此类功能对减少邮件支持记录来说非常有用。...最高级别会提示用户将设备恢复出厂设置。 要支持救援程序,无需特别的硬件支持。...由于每个救援级别都会使设备再次变为可运行状态的时间延后(可能长达 5 分钟),因此设备制造商不应添加自定义救援级别。...原来这个是android加的自动判断系统状态,实现的救援程序,触发进入recovery,强制执行恢复出厂设置。

5.3K40
  • 安卓第八夜 玛丽莲梦露

    事件发生后,安卓将调用的该方法。我们用setOnClickListener的方法,让MainActivity同时监听两个按钮的点击事件。当事件触发后,安卓调用onClick()方法。...安卓提供了ArrayAdapter类,可以综合以上功能。它可以为每个数据元素赋予相同的视图格式。将ListView与ArrayAdapter绑定后,安卓就可以动态的调整条目了。 ?...由于数据是字符串类型的表,ArrayAdapter也有一个String的类型参数。一个ArrayAdapter中包含了数据和条目的具体格式。...安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...使用setTag()优化CategoryAdapter 上面已经提到,ArrayAdapter可以通过重复利用条目视图,来优化安卓应用的效率。

    61710

    安卓第八夜 玛丽莲梦露

    事件发生后,安卓将调用的该方法。我们用setOnClickListener的方法,让MainActivity同时监听两个按钮的点击事件。当事件触发后,安卓调用onClick()方法。...安卓提供了ArrayAdapter类,可以综合以上功能。它可以为每个数据元素赋予相同的视图格式。将ListView与ArrayAdapter绑定后,安卓就可以动态的调整条目了。 ?...由于数据是字符串类型的表,ArrayAdapter也有一个String的类型参数。一个ArrayAdapter中包含了数据和条目的具体格式。...安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...使用setTag()优化CategoryAdapter 上面已经提到,ArrayAdapter可以通过重复利用条目视图,来优化安卓应用的效率。

    1.9K90

    安卓天气预报app(四)——搜索城市、完善页面

    ✅简易的安卓天气app(一)——解析Json数据、数据类封装 ✅简易的安卓天气app(二)——适配器、每小时数据展示 ✅简易的安卓天气app(三)——城市管理、数据库操作 简易的安卓天气app(四)—...数组就可以不用写适配器,直接用ArrayAdapter)。...CityAdapter适配器: 前面文章提到过,略过过了就,, 指路==>适配器写法: 简易的安卓天气app(二)——适配器、每小时数据展示 根据目录适配器HourWeatherAdapter索引...后续会更新,适配器也是安卓提供的ArrayAdapter,传入的是全国所有市的String[]数组。...ArrayAdapter适配器,里面设置样式为android.R.layout.simple_list_item_1安卓提供的样式,就是简单的白框, 然后传入城市的数组; 在此之前,这个城市数组还得定义好

    1.9K51

    挖洞经验 | 通过下载功能实现Facebook安卓应用任意代码执行

    如果用户要从群组的文件标签( Files Tab)中下载文件,那么Facebook安卓应用将会获取文件,然后将其无过滤措施地保存到下载目录中。...简而言之,Facebook安卓应用用户从Facebook群组文件标签中下载的文件会被存储到用户手机中的目录/sdcard/Downloads/FILE_NAME,这其中由于未对文件名FILE_NAME做过滤处理...绕过安全措施 经过多次的Payload构造,也很难绕过安全过滤措施,最后,我回到了Facebook安卓应用本身,在添加文件处终有发现!...从这个添加文件功能处,首先,我发现可以从Facebook安卓应用中上传文件。因此,接下来我从手机中设置Burp代理,拦截捕获文件上传请求,把其中的文件名filename更改为../../.....然后,我尝试在群组发贴中来下载该文件,但是Facebook安卓应用的DownloadManger服务是安全的,无法找到破绽。

    1.5K10

    GBT28181-2022针对H.265编码细化及技术实现

    ndk硬编码模式: /** * 设置视频硬编码是否使用 Native Media NDK, 默认是不使用, 安卓5.0以下设备不支持 * @param handle * @param is_native..., 安卓5.0及以上支持 * @param hw_complexity: -1表示不设置, 请参考:android.media.MediaCodecInfo.EncoderCapabilities.getComplexityRange..., 安卓9及以上支持, 仅当硬编码器码率控制模式(BitrateMode)是CQ(constant-quality mode)时才有效 * @param hw_quality: -1表示不设置, 请参考...H.264硬编码Level, 这个只有在设置了Profile的情况下才有效, 安卓7及以上支持 * @param hw_avc_level: 0表示使用默认值, 0x100: Level3, 0x200..., 安卓没有相关文档说明, 所以不建议设置, * @param hw_max_bitrate: 每秒最大码率, 单位bps * @return {0} if successful */ public

    48100

    AdGuardHome安装与配置使用指南

    目录 安装与简介 官方Github仓库 官方ADH介绍文档 官方一键脚本 安装备注 配置与设置参考 常规设置 DNS设置 加密设置 客户端设置/DHCP 设置 过滤器 DNS封锁清单 DNS允许清单...HTTPS随意端口即可(不要用443等被用过的)TLS建议853,否则可能用不了域名看你自己QUIC基本用不上证书自己申请【安卓使用DoT:在设置中找到私人DNS选项,输入你的DNS域名即可】 客户端设置.../DHCP 设置 一般无须使用,客户端就是根据IP标记罢了 过滤器 DNS封锁清单 官方提供的足够使用了,也可以自行搜索国人提供的清单,也可以自己编写自己写的话路径参考:/www/wwwroot/XXX.xyz...WinDNS设置(DNS over 53 port) ? 安卓/Win等平台Chrome DNS设置(DoH) ?...安卓类似道理注意:安卓Chrome优先级大于V2NG和系统(应该),WinChrome优先级小于系统DNS和Netch,其他环境未测试

    19.7K10

    Android测试三件套:传文件、抓包、看日志

    在对安卓进行测试时,我们需要把 apk 传到安卓机上,对请求抓包,同时监控应用日志。本文就来讲讲具体操作。 安卓机是指基于安卓的机器 ,如手机、POS 机、电视盒子等。...③ 接着继续装逼,把安卓机掏出来,打开设置 | 系统 | 关于手机,对着“版本号”一顿猛戳,戳到开发者模式为止,启用它(不同安卓机可能方式不同)。 ④ 装,接着装。...第二步在安卓机上手动设置代理。 第一步在电脑端启动代理。Charles 中打开 Proxy | Proxy Settings 启用代理,默认端口 8888: ? 第二步在安卓机上手动设置代理。...简要回顾 本文介绍了安卓机测试环境的准备,用到了 adb、Charles 软件,进行传文件、抓包、看日志。操作还是比较简单,不过实际过程中,可能会由于机器不同导致遇到奇奇怪怪的问题。...最后温馨提示,如果第二天安卓机提示无法连接网络,那么看看是不是电脑的 Charles 关掉了。哈哈哈。

    1.7K20

    蓝牙在小程序中的应用

    1508314674485_6520_1508314698318.png] 2.小程序蓝牙介绍 小程序API提供了一套蓝牙操作接口,所以作为我们前端开发人员可以更加方便的进行蓝牙设备开发,而无需了解安卓和...(3) 设备地址:每个蓝牙设备都有一个设备地址deviceId,但是安卓和IOS差别很大,安卓下设备地址就是mac地址,但是IOS无法获取mac地址,所以设备地址是针对本机范围有效的UUID,所以这里需要注意...IOS无法获取Mac地址所以这里需要区分两个场景 a) 安卓:安卓下可以根据Mac地址来搜索设备,或者跳过此步直接连接到设备。...完整例子 这里为了简洁,把fail等异常处理已经省去,主要流程就是设置设备ID和服务ID的过滤值,在开启notify之后写入测试消息,然后监听蓝牙发送过来的消息,整个过程采用简化处理,没有使用事件通信来驱动...(5) 操作完成后要及时关闭连接,同时也要关闭蓝牙设备,否则安卓下再次进入会搜索不到设备除非关闭小程序进程再进才可以,IOS不受影响。

    6.1K50

    用来批量制作“假脸”,iOS 面部识别数据正在被黑客窃取

    2023 年 10 月,针对越南五十余家金融机构进行攻击的安卓银行木马 GoldDigger 浮出水面。通过对其持续跟踪分析,研究人员发现一整套针对亚太地区的银行木马。...GoldPickaxe 不仅有安卓版本,也覆盖了 iOS 平台。GoldPickaxe.iOS 木马的典型特征就是能够收集面部识别数据、身份的证件并拦截短信,尽管安卓平台的木马早就有这些功能。...安卓木马大多都是传统方式,例如滥用辅助功能等。由于泰国政府发布的新政策,要求银行使用面部识别确认用户提交的大数额交易,这项旨在保护用户的安全措施也助推了攻击者获取信息。...木马窃取资金方式 GoldFactory 木马的技术能力 旧的 GoldDigger 木马只针对安卓设备进行攻击,而 GoldPickaxe 则支持安卓和 iOS 两个平台。...在第一个登录页面输入用户名和电话号码后,引导受害者跳转到 Digital Pension 设置密码。攻击者也启动了密码校验,如果输入连续的数字会被拒绝。成功后,进入设置页面请求启动辅助功能。

    19810

    安卓再现系统广播高危漏洞,影响99.9%安卓手机

    近日,有博客披露安卓系统存在安卓系统广播漏洞,99.9%的安卓手机将面临安全威胁。恶意程序利用该漏洞,可伪造任意内容的手机短信,及致手机死机,甚至可将手机恢复出厂设置(所有数据将被擦除)。...该漏洞目前影响5.0版本以下99.9%的安卓系统手机。...、进程甚至无法上网,最终造成手机崩溃,无法使用。...三.可令手机恢复出厂设置(所有数据将被擦除) 利用该漏洞,恶意程序可发送com.google.android.c2dm.intent.RECEIVE广播,安卓系统将会被恢复至出厂设置,手机中包括照片、视频...安全专家建议开发者尽量不要使用receiver来作为敏感功能的调用接口,即便这个receiver是未导出、有权限控制的。

    3.3K60

    html2canvas图片模糊解决方案

    -webkit-text-size-adjust: 100%; 安卓也想采用ViewPort方案,发现会引入更多的问题,首先是text-size-adjust导致的布局异常问题,可以通过关闭所有设备上的...找了一圈后发现手淘的使用Flexible实现手淘H5页面的终端适配在安卓上的这个值始终认为是0,看来是不好走通了。 其中initial-dpr会把dpr强制设置为给定的值。...如果手动设置了dpr之后,不管设备是多少的dpr,都会强制认为其dpr是你设置的值。...安卓还需要另外适配。 图片模糊问题 html2canvas一开始用的最新版本,发现dom在屏幕之外的部分始终无法绘制,调了半天最后换了个版本(往下降了一个版本)直接就好了。...其他问题 跨域问题 由于涉及到外源图片,目前是通过后台写了一个接口做图片下载后pipe()来解决的,在开发环境的时候直接打开跨域和允许污染Canvas的属性 useCORS: $fn.isDev(),

    4.3K30

    2.Hello Xamarin

    敬告:本文首发于 CSDN 博客喵叔的 Xamarin 基础专栏,该文章进发表于 CSDN 博客以及 InfoQ 网站,其他网站以及公众号发表皆为未授权。...一、配置安卓环境并运行项目 到这里为止我们就已经创建了 Notes 的基本框架。由于我们这个专栏所开发的 APP 是运行在安卓环境中,因此我们需要配置安卓的运行环境。...2.在安卓设备管理器中单击 新建 按钮,设置我们的安卓运行环境。 ? 3.创建完成后 VS2019 会帮我们拉取我们所配置的安卓环境。安卓环境拉取完成之后,我们单击 F5 运行程序。...我们将会看到如下的界面,这时我们创建的程序就运行在了安卓环境中。 ? 到此为止我们就完成了 Xamarin 项目的创建和环境配置以及运行。...二、总结 这篇文章主要讲解了项目的创建、安卓环境的配置以及运行。下一篇文章我将讲解如何在 App 上添加元素和事件。

    1.9K10
    领券