当前位置: 首页 > 知识库问答 >
问题:

AutoCompleteTextView项目选择以编程方式

邵修诚
2023-03-14

我有一个AutoCompleteTextView,它由sqlite数据库中的城市填充,该数据库在项目单击时调用AsyncTask。最近我添加了一个使用gps检测我的位置的选项,所以问题是我可以检测城市(即贝鲁特)并设置AutoCompleteTextView的文本,但问题是下拉筛选器打开时显示贝鲁特(这是正确的),但我仍然需要单击列表项来调用监听器,如何以编程方式这样做

如何:

  • 输入活动(DONE)
  • 检测位置(DONE)
  • 设置文本视图的文本(DONE)
  • 显示textview下拉列表(已完成)
  • 选择要返回的项目,因为它只返回一个城市(未完成)

共有1个答案

白泽语
2023-03-14

要明确一点,塔诺的解决方案足以回答这个问题。但是,万一其他人遇到了我做过的同样的用例,这里有一些更多的背景可能会帮助你...

我遇到了这个问题,特别是在试图使一个不可编辑的材料暴露下拉菜单和设置它的初始值编程。创建这种类型的“下拉菜单”的文档可以在此处的“公开下拉菜单”部分找到,其中建议使用TextInputLayoutAutoCompleteTextView的机制(即使您不想使用自动完成功能)。

失败的解决方案1:乍一看,setListSelection()getListSelection()似乎可以起作用。但经过多次试用后,我发现它们可能不够充分,因为它们仅在列表弹出isshowing()时才起作用。因此例如,如果您只是想设置初始选择,而不必首先显示列表弹出,这将不起作用。

失败的解决方案2:然后我尝试了settext(),它在我的TextBox中显示了正确的文本。耶!但是等等!当我单击文本视图时,由于某种原因只显示了列表弹出窗口中的一个选项子集。那是为什么?这里要记住的关键是,因为这是一个自动完成的textview,所以默认情况下它会过滤掉基于textview中文本的选项。这可能并不明显,特别是如果您只是为了制作一个简单的不可编辑的下拉选择器而使用该控件

解决方案:这就带来了我们的实际解决方案(塔诺建议)...settext()filter设置为false将关闭筛选功能,并且不会更改列表弹出窗口的内容。

autoCompleteTextView.setText(myText, false);
 类似资料:
  • 问题内容: 我使用eclipse在最初独立于eclipse创建的应用程序上工作。因此,该应用程序的目录结构绝对不适合日食使用。 我想以编程方式为该应用程序生成一个项目。在和文件是很容易的弄清楚,我已经了解到,项目存储在工作区下 不幸的是,这里的某些文件(尤其是)似乎是以某种二进制格式编码的。直觉上,我尝试使用-没有骰子反序列化它。因此,它似乎不是序列化的Java对象。 我的问题是:有没有一种方法可

  • 我正在研究一个飞机必须移动到登机口的模型。飞机将其目标门设置为其参数。 当我试图以编程方式将闸门分配给moveTo的自身时。DEST\u节点,我得到一个类型错误。 我对Java很陌生,认为问题可能出在代码中。 附加信息:当我不添加任何程序,而只是用p_Gate1填充节点字段时,程序就会工作。 我对将类型转换为类型或类似的东西非常感兴趣。 ps。感谢本杰明·舒曼,我现在可以在两个选项之间进行选择,但

  • 问题内容: 启动应用程序时,未选择任何行。但我想表明第一行已被选中。 这该怎么做?我是否需要设置行的颜色? 更新:我尝试了table.setRowSelectionInterval(0,0)。我知道它应该可以工作,但是有一条错误消息: 问题答案: 您可以调用setRowSelectionInterval来做到这一点: 选择第一行。

  • 我正在从事一个使用openlayers(version2.14)显示Bing层(GeoJSON格式)的项目,我在阅读GeoJSON和显示功能方面没有问题,但我想以编程方式选择一个功能,例如,有一个表显示所有功能属性(GeoJSON格式。示例: {“类型”:“特征集合”,“特征”:[{“类型”:“特征”,“属性”:{},“几何”:{“类型”:“点”,“坐标”:[-7923751.4232522523

  • 我已经尝试过使用GCP控制台仪表板创建项目,我想通过使用Google支持的API来管理项目,以编程方式创建项目。然后我想通过使用.NET项目的Big Query客户端库来执行Google Big Query操作。 有没有办法通过使用谷歌云API服务来创建谷歌云平台“项目”?

  • 问题内容: 如何以编程方式选择UITextField中的所有文本? 问题答案: 原来,调用-selectAll:使用非零发送者显示菜单。用nil调用它会使它选择文本,但不显示菜单。 在我的bug报告从Apple回来后,我建议我通过nil而不是self来尝试。 无需考虑UIMenuController或其他选择API。