动态更新 AutoCompleteTextView 适配器

2024-01-23

我想通过从 RESTful Web 服务获取列表来定期更改 AutoCompleteTextview 给出的建议,但无法使其顺利工作。我设置了一个硬编码的建议列表以确保它有效:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv

我在文本视图上有一个 TextWatcher,当文本发生变化时,会启动一个非阻塞调用来获取新的建议列表——这部分获取新列表工作正常。然后我想重置适配器,如下所示:

public void setOptionsAndUpdate(String[] options) {
    Log.d(TAG, "setting options");
    //speciesName.setAdapter((ArrayAdapter<String>)null);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, options);
    speciesName.setAdapter(adapter);
}

该方法被调用,但不起作用——建议列表要么消失,要么显示的建议保持不变,尽管调用setAdapter.

这是正确的方法吗?我在看SimpleCursorAdapter但不知道如何将我的网络服务注册为内容提供商。 (它的形式http://www.blah.com/query?term=XX http://www.blah.com/query?term=XX,其中 XX 是我的应用程序的输入,响应是 JSON 字符串数组。)


在动态添加和更改适配器中的数据时,我没有使用adapter.notifyDataSetChanged() 的运气。在我的情况下,我异步访问外部 api 并定期获取完成数据列表。

此代码清除适配器,并按您的预期添加新数据。但是,我必须调用 getFilter().Filter 方法来强制显示数据。另外,我必须根据 AutocompleteTextView 中的当前文本显式过滤,因为我的 api 调用是异步的。

adapter.clear();
for (Map<String, String> map : completions) {
     adapter.add(map.get("name"));
}

//Force the adapter to filter itself, necessary to show new data.
//Filter based on the current text because api call is asynchronous. 
adapter.getFilter().filter(autocompleteTextView.getText(), null);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态更新 AutoCompleteTextView 适配器 的相关文章

  • Android webview 滚动不起作用

    我正在尝试在网络视图中向下滚动到页面底部 我正在使用谷歌在其教程中提供的网络视图示例 我正在使用这行代码来尝试滚动 但它不起作用 mWebView pageDown true 关于如何使其以编程方式滚动有什么建议吗 谢谢 public cl
  • 使用 google Directions API 的地图视图绘制方向 - 解码折线

    我正在尝试使用 Google 方向 API 在我的地图视图上显示方向 但我在从 JSON 响应获取数据时遇到困难 我可以获得 级别 和 点 字符串 但无法弄清楚如何将它们解码为地图上的点 任何帮助将非常感激 我有一个类可以为您解码它们 添加
  • Android:使用 OAuth 访问 google 任务时出现问题

    由于 google 任务没有公共 api 我想编写解决方法并像浏览器一样请求数据 然后解析结果以进一步显示 为了访问数据 我使用 google 实现了 OAuth 身份验证来访问此 url https mail google com htt
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 出现错误错误:res/menu/mainMenu.xml:文件名无效:必须仅包含[a-z0-9_。]

    我是安卓新手 刚刚开始使用 我在 res 文件夹中创建了一个文件 menu mainMenu xml 但我得到了错误 Error res menu mainMenu xml invalid file name must contain on
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • Android 应用程序中的 Eszett (ß)

    我的 res layout activity 文件中的德语 字符在我的应用程序中自动转换为 ss 即使我将语言和键盘设置为德语 它仍然不会显示 Android 中可以显示 吗 edit
  • 如何检查用户在EditText中输入自己的电话号码?

    用户将在我的 Android 应用程序的注册页面上的编辑文本中输入手机号码 如何检查用户输入的是他 她的手机号码而不是其他人的 我试过这个 TelephonyManager tMgr TelephonyManager mAppContext
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 菜单在片段的 onCreateOptionsMenu 处多次膨胀调用

    我使用 Fragments 当我切换到嵌套 Fragment 时 它实现了public void onCreateOptionsMenu Menu menu MenuInflater inflater 当我到达该嵌套片段时 我的菜单会多次膨
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • Android:滚动 Horizo​​ntalScrollView 时如何禁用 ScrollView 的垂直滚动?

    我正在开发一个带有带有 ScrollView 的 Activity 的 Android 应用程序 其中包含 Horizo ntalScrollView 等内容 当我触摸 Horizo ntalScrollView 时 我想禁用外部 Scro
  • Android 后台服务示例,具有交互式调用方法

    我不是 Android 方面的专家 我正在寻找一个 Android 应用程序的示例 该应用程序使用一个服务 其中有真正的功能方法 或者换句话说 一个服务可以用来做什么 我们什么时候需要它 超越简单的东西服务举例 我确信您渴望获得一些工作代码
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb
  • Android:AsyncTask ProgressDialog 将不会在 ActivityGroup 中打开

    我试图在轮询我的服务器时打开一个进度对话框 该类是一个 ActivityGroup 因为它嵌套在选项卡栏中 为了将视图保持在框架内 需要 ActivityGroup 这是我的 ActivityGroup 类的声明 public class
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • Android 材料芯片组件崩溃应用程序。无法膨胀 xml

    Tried Chip来自两个支持库的组件 com google android support design 28 0 0 rc01和材料 com google android material material 1 0 0 rc01 堆栈

随机推荐

  • 冻结 Python Pandas 的问题

    我刚刚从 Python 2 7 升级到 3 6 我有一个相当大的带有 GUI 的脚本 我已使用 pyinstaller 将其冻结为 exe 文件 我现在对 py 脚本做了一些更改 在我冻结它之前它可以与新的 Python 版本一起使用 但是
  • 是否有内置函数可以清除所有变量值

    我正在寻找一种方法来清除 Perl 程序中的所有数组 目前 我正在调用一个显式 重置 所有数组的子例程 sub clear arrays array1 array2 array3 这迫使我找到程序中的所有数组并在子例程中逐字引用它们 我查看
  • 在 BigQuery 中透视重复字段

    我的架构看起来像这样 userid string timestamp integer params nested repeated field with 2 fields name string possible values a b c
  • 如何在 Spring Boot 中从未经授权的响应中删除变量

    当涉及到检查用户未经授权时 我有这样的响应 我有可能从未经授权的响应中删除路径吗 因为它没有为用户提供有价值的信息 timestamp 2021 03 18T09 16 09 699 0000 status 401 error Unauth
  • 如何从java调用GraphViz

    如何从java调用GraphViz以及如何使用java调用GraphViz函数 为了访问 GraphViz 库来构建点图 需要包含哪些必要的 jar 文件 有没有生成点图的示例程序 Check this http www loria fr
  • Azure kubernetes - python 读取configmap?

    我正在尝试对 python 应用程序进行 Dockerize 并希望从 configmap 中读取配置设置 如何在Python中读取configmap 使用配置文件创建 configMap kubectl create configmap
  • Xcode 4:构建失败,没有问题

    该应用程序在模拟器中运行良好 可以构建并运行 当我连接我的设备 运行 iOS 4 3 的 iPhone 3GS 并以 iPhone 为目标时 结果是 构建失败 和 没有问题 查看构建结果窗口 一切都是绿色的 有一个复选标记 包括构建失败通知
  • 无法编译json框架

    我使用 json framework 来解析 json 但是当我编译时出现以下错误 xxx SBJsonStreamParser h xxx SBJsonStreamParser h 105 错误 在 unsafe unretained 之
  • IBM Data Studio 无法浏览 SAMPLE (DB2 Express-C) 上的数据

    我无法浏览 SAMPLE DB 上的数据 设置如下 Windows 7 64 位 PRO IBM DB2 Express C 10 5 500 107 最新 IBM Data Studio 版本 4 1 1 管理安装 使用 IBM Inst
  • 检测到潜在危险的 Request.Form 值

    我有一个带有 wmd 编辑器的表单 输入文本区域使用以下方式呈现 每次我提交表格时我都会得到A potentially dangerous Request Form value was detected from the client 我尝
  • 使用 ssh2 exec 执行多个命令

    我有一个运行一个命令的脚本 根据该结果 我可以运行下一个命令 步骤 运行第一个脚本 它将我置于全局中 然后从全局中我将运行下一个命令 第一个命令 stream ssh2 exec connection 配置全局 在这个结果之后我应该运行这个
  • Firebase部署404找不到index.html

    我在跑firebase init它正在创造firebase json firebase json位于应用程序根目录中 指向我的公共目录app 看这里 firebase json firebase harrison public app ig
  • 如何在spring中使用jdbcTemplate传递多个值进行查询

    在我的 Spring Hibernate 应用程序中 我将所有 sql 查询都放在一个 common queries xml 文件中 其中某些查询需要 2 到 3 个参数 如下所示
  • HTML 查找并停止显示子表

    我已经这样做了 table tbody tr th row1 th td w td tr tr th row2 th td x td tr tbody tbody tr th row1 th td y td tr tr th row2 th
  • 按钮栏不会粘在屏幕底部

    我试图将我创建的按钮栏放在每个屏幕的底部 我很容易就成功地完成了第一个屏幕 现在我尝试把它放到其他屏幕上 但似乎无法粘在屏幕底部 当我查看 hiearchyviewer 时 看起来包裹在我的布局和按钮栏周围的相对布局并没有填充整个屏幕 但它
  • 使用金属的纹理画笔(绘图应用程序)

    I am trying to implement a metal backed drawing application where brushstrokes are drawn on an MTKView by textured squar
  • Haskell 函数反转函数调用

    我有一个 lambda x f gt f x正在使用foldM操作 其中x是一个值并且f a gt b 是否有内置函数可以执行此操作 我可以更换吗 foldM x f gt f x 和一些f foldM f 我以为flip会这样做 但需要三
  • 如何消除 MFMessageComposeViewController 呈现的延迟?

    if MFMessageComposeViewController canSendText MFMessageComposeViewController sms message vc MFMessageComposeViewControll
  • 用于旋转图表数据标签的 Python PPTX 解决方法函数

    I intend to create the following chart using Python PPTX 下面的代码实现了颜色设置 字体大小和数字格式 但是 我还无法旋转数据标签 因为我相信此 API 在 python pptx 0
  • 动态更新 AutoCompleteTextView 适配器

    我想通过从 RESTful Web 服务获取列表来定期更改 AutoCompleteTextview 给出的建议 但无法使其顺利工作 我设置了一个硬编码的建议列表以确保它有效 ArrayAdapter