带有'@'的Android AutoCompleteTextView提到了像twitter和facebook这样的过滤

Fla*_*h99 6 android autocompletetextview multiautocompletetextview tokenautocomplete

我需要实现一个用户可以输入任何内容的编辑文本,但是当他们键入以"@"开头的新单词时,自动完成应该开始显示潜在用户.

我了解如何使用AutoCompleteTextView函数进行过滤.但是我不知道如何从'@'符号后面的最后一个单词中捕获字符(忽略之前的任何单词).

因此,当从AutoCompleteTextView列表中选择用户时,它应该用'@'替换该单词,例如.


"这是@steve的消息"


当用户点击列表中的"Steve"时,文本应替换为:


"这是给史蒂夫的信息"


我还需要以可以发送到服务器的形式获取字符串.即从上面的例子我需要发送字符串:


"这是[用户名:steve@bloggs.com,id:44]的消息."


我查看了https://github.com/splitwise/TokenAutoComplete

这似乎很适合在列表中键入电子邮件,但我不知道如何满足我的需求.请记住,我需要支持多个/重复提及:

例如


"这是一个消息,史蒂夫鲍勃.这是消息中的第二句鲍勃 "


如果有人知道或做过这样的事情,我会非常感激!

Fla*_*h99 6

我最终使用了来自linkedin 的spyglass 库,它完全符合我的要求。它提供了一个 MentionsEditText(可以自定义)。我还使用 ListPopupWindow 在列表中显示建议(如 AutoCompleteTextView)。

链接在这里...

https://github.com/linkedin/Spyglass