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

前端之家收集整理的这篇文章主要介绍了带有’@’的Android AutoCompleteTextView提到了像twitter和facebook这样的过滤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要实现一个用户可以输入任何内容的编辑文本,但是当他们键入以“@”开头的新单词时,自动完成应该开始显示潜在用户.

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

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

“这是@steve的消息”

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

“这是给史蒂夫的信息”

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

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

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

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

例如

“这是史蒂夫和鲍勃的消息.这是鲍勃留言中的第二句话”

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

解决方法

以下方法提取以“@”开头的单词:
private void parseText(String text) {
    String[] words = text.split("[ \\.]");
    for (int i = 0; i < words.length; i++) {
        if (words[i].length() > 0
                && words[i].charAt(0) == '@') {
            System.out.println(words[i]);
        }
    }
}

获得完成后,使用自动完成过滤器,最后使用String.replace替换文本.

猜你在找的Android相关文章