我需要实现用户可以输入任何内容的编辑文本,但是当他们输入以“@”开头的新单词时,自动完成应该开始显示潜在用户。
我了解如何使用 AutoCompleteTextView 功能进行过滤。但我不确定如何从“@”符号之后的最后一个单词中捕获字符(忽略任何前面的单词)。
因此,当从 AutoCompleteTextView 列表中选择了用户时,它应该用“@”替换单词,例如。
“这是给@steve 的消息”
当用户从列表中单击“Steve”时,文本应替换为:
“这是给史蒂夫的信息”
我还需要以可以发送到服务器的形式获取字符串。即从上面的例子中,我需要发送字符串:
“这是给 [username:steve@bloggs.com, id:44] 的消息。”
我看过https://github.com/splitwise/TokenAutoComplete
这对于在列表中输入电子邮件似乎很棒,但我不确定如何满足我的需要。请记住,我需要支持多次/重复提及:
例如
“这是给史蒂夫和鲍勃的信息。这是给鲍勃的信息中的第二句话”
如果有人知道或做过类似的事情,将不胜感激!