问题标签 [multiautocompletetextview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
12755 浏览

android - 使用“MultiAutoCompleteTextView”时如何用空格替换逗号

我正在做一个简单的程序,MultiAutoCompleteTextView用于在输入几个字母时提示常用词。

代码:

现在,当我输入“a”并选择“abcd”时,结果变为“abcd”。如何用空格替换逗号?

谢谢!

0 投票
4 回答
29676 浏览

android - MultiAutoCompleteTextView 和 AutoCompleteTextView 的区别

MultiAutoCompleteTextView有人可以解释和 之间的区别AutoCompleteTextView吗?

0 投票
3 回答
8332 浏览

android - 如何获得类似于 Facebook 应用程序的 MultiAutoCompleteTextView 标记器?

我正在创建一个具有“收件人”字段的应用程序,就像 Facebook 应用程序的“新消息”功能一样。

从下拉列表中选择一个项目后,我创建一个图像跨度并将其添加到MultiAutoCompleteTextView. 我已经习惯SpaceTokenizer了这种观点。问题是当我单击退格时,光标首先移动到空白处(即空格Tokenizer),然后当我再次单击退格时,整个单词被删除....我想删除我的整个单词就像 facebook 应用程序一样,第一次点击退格...

这是我的代码SpaceTokenizer

我正在使用此代码TextView在我的多 ContentText中创建一个

我不确定该空间是否Tokenizer适合这种行为......任何帮助或指针将不胜感激......

这是屏幕截图以便更好地理解......

在此处输入图像描述

我有一个文本后跟一个空格,然后是一个光标......如果我点击退格,它首先移动到空白空间,只有当我再次点击退格时,整个文本才会被删除......

这是另一个屏幕截图..

在此处输入图像描述

这里的光标并不完全在两个TextViews 之间,这与 facebook 应用程序不同,这再次导致插入文本时出现一些问题......

0 投票
2 回答
4285 浏览

android - 如何自定义 Gmail 收件人字段中使用的“筹码”自动建议机制?

背景

我已经搜索了一种与 Gmail 收件人字段具有相似外观和感觉的方法,它允许以非常酷的方式自动填充项目:

在此处输入图像描述

内置在 Android 框架中并负责此操作的类称为“ MultiAutoCompleteTextView ”。

问题

MultiAutoCompleteTextView 非常基本,但它没有足够的示例、教程和库来了解如何像在 Gmail 等上那样自定义它。

我想知道如何自定义它以处理任何类型的数据,并且我将完全控制它(例如添加、删除和获取它已自动完成的项目)。

我试过的

我找到了实现它的下一个可能的方法:

  1. 使用第三个库,例如splitwise-TokenAutoComplete。缺点:它非常有问题,并且在某些设备上效果不佳。
  2. 创建我自己的方式(如此处所示)。缺点:需要很长时间,我可能需要处理与图书馆相同的问题。
  3. 使用Google 的代码(在此处找到)。缺点:它真的不是可定制的。

我决定使用#3(谷歌的芯片库)。

目前用于获取 Google 库中使用的联系人列表的代码:

它工作正常,但我在添加和删除项目时遇到了困难。

我认为通过调用“getContactIds”来获取项目,但是关于修改芯片中的项目,这很难找到。

例如,我尝试向 "submitItemAtPosition" 添加类似的函数,这似乎添加了从适配器中找到的新实体。它确实添加了,但联系人的显示名称并未显示在芯片本身上。

问题

想了很多之后,我决定使用谷歌的代码。

遗憾的是,正如我所写的,视图及其类对它的使用非常严格。

  1. 如何解耦视图并使其更具可定制性?我怎样才能让它使用任何类型的数据,而不仅仅是谷歌所做的?

  2. 如何获取输入了哪些项目(变成了“筹码”),并且还能够从外部移除或添加项目?

0 投票
0 回答
264 浏览

android - Android:无法在对话框中添加的 MultiAutoCompleteTextView 中选择项目

MultiAutoCompleteTextView在自定义对话框中。添加适配器MultiAutoCompleteTextView成功。 MultiAutoCompleteTextView提供建议但无法从建议列表中选择项目。

对话框 xml 包含:

活动中的对话:

请帮我解决这个问题。提前致谢

0 投票
1 回答
2318 浏览

android - 带有自定义对象而不是字符串对象的 MultiAutoCompleteTextView 自定义适配器

仅当我传递ArrayList<String>给适配器时,此代码才能正常工作。但是,当我将对象添加到适配器时,会在MultiAutoCompleteTextView其中设置对象全名而不是对象全名。我只想要我的JGETDATA对象中的 first_name 。

我的适配器

0 投票
1 回答
606 浏览

java - 在 android 中使用自定义适配器而不是正确的开始位置时从 MultiAutoCompleteTextView 中获取项目?

我为 MultiAutoCompleteTextView 创建了一个自定义适配器,它为我提供了列表视图的视图。问题是,当我输入任何字符时,它会给出正确的计数,但起始索引从 0 开始,因此我看到错误的名称。

当列表视图打开时,它总是显示列表项从“Rahul”开始,即使我输入“m”,但计数仍然是 3,所以 3 个项目从项目 0 开始。

这在 android arrayAdaptor 中运行良好,它是:

我是否应该调试以了解为什么它没有在我的适配器的 getView 函数中传递正确的索引,或者我是否需要设置一些排序算法来对列表进行排序并再次在适配器中更新它,如果是的话在哪里?

自定义适配器代码

}

0 投票
0 回答
80 浏览

android - MultiAutoCompleteTextView 在添加到 textview 之前修改数据

假设我有 MutliAutoCompliteTextView,里面有预定义的“Call:”文本。当我输入联系人姓名并弹出建议时,我想在将联系人添加到 MutliAutoCompliteTextView 之前添加(例如)html 标签 <br>John Doe</b>。有什么办法吗?

提前致谢!

0 投票
1 回答
77 浏览

arraylist - 如何在 MultiAutoCompleteTextView 中建议的 ArrayList 中找到项目的原始位置?

我通过MultiAutoCompleteTextView对arraylist应用了自动建议操作。当我单击建议列表时,我会根据建议列表获得项目的位置,但我希望根据保存在 arraylist 中的项目来定位项目。获得职位的一种方法是

但是arraylist中可能存在重复项。如何从arraylist中获取实际索引?

0 投票
1 回答
406 浏览

android - 当为 MultiAutoCompleteTextView 选择一个值时,如何设置将要朗读的文本

我有一个从 "MultiAutoCompleteTextView" 扩展的自定义视图。当用户开始在 CustomTextView 中输入时,弹出窗口将显示建议值。在选择这些值之一时,CustomTextView 将填充所选值。

可以选择的值有 ID 和名称。默认情况下,当用户从列表中选择一个值并且 CustomTextView 填充了该选定值时,TalkBack 会以一种奇怪的方式读出选定项的 ID。

它读到

"(itemID as a whole word) 替换 syn (itemId as individual charachers) comma space"

例如,如果 id 是 apple 它读取

“apple 替换了 syn apple 逗号空间”

我希望它只读出名称而不是 ID。

阅读可访问性文档以添加可访问性的自定义视图(http://developer.android.com/guide/topics/ui/accessibility/apps.html#custom-views)我尝试覆盖不同的 API 并设置事件文本,但是一旦我对事件文本做任何事情,就什么都不会被读出。

我只需要支持 API 15 及更高版本,所以在我的 CustomTextView 中我添加了代码

我可以在我的调试系统输出中看到事件文本正在从 id 更新为“测试”

因此我不明白为什么没有大声读出字符串“Test”?有任何想法吗?

注意:如果我添加以下代码,则当触摸 CustomTextView 时,会正确读出“Touched on CustomTextView”。但是,覆盖此方法对于首次从建议中选择项目并填充 CustomTextView 没有任何影响。