Android 带有“@”的 AutoCompleteTextView 提到像 twitter 和 facebook 这样的过滤
Android AutoCompleteTextView with '@' mentions filtering like twitter and facebook
我需要实现一个编辑文本,用户可以输入任何内容,但是当他们输入以“@”开头的新词时,自动完成应该开始显示潜在用户。
我了解如何使用 AutoCompleteTextView 功能进行过滤。但我不确定如何从“@”符号后的最后一个单词中捕获字符(忽略之前的任何单词)。
因此,当用户从 AutoCompleteTextView 列表中被选中时,应该用 '@' 替换单词,例如。
"This is a message for @steve"
当用户点击列表中的 "Steve" 时,文本应替换为:
"This is a message for Steve"
我还需要以可以发送到服务器的形式获取字符串。即从上面的例子我需要发送字符串:
"This is a message for [username:steve@bloggs.com, id:44]."
我看过https://github.com/splitwise/TokenAutoComplete
这似乎很适合在列表中输入电子邮件,但我不确定如何满足我的需要。请记住,我需要支持 multiple/duplicate 提及:
例如
"This is a message for Steve and Bob. this is the second sentence in the message for Bob"
如果有人知道或做过这样的事情,将不胜感激!
以下方法将提取以“@”开头的单词:
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 替换文本。
我最终使用了 linkedin 的 spyglass 库,它完全符合我的要求。它提供了一个 MentionsEditText(可以定制)。我还使用 ListPopupWindow 在列表中显示建议(如 AutoCompleteTextView)。
这是 link...
我需要实现一个编辑文本,用户可以输入任何内容,但是当他们输入以“@”开头的新词时,自动完成应该开始显示潜在用户。
我了解如何使用 AutoCompleteTextView 功能进行过滤。但我不确定如何从“@”符号后的最后一个单词中捕获字符(忽略之前的任何单词)。
因此,当用户从 AutoCompleteTextView 列表中被选中时,应该用 '@' 替换单词,例如。
"This is a message for @steve"
当用户点击列表中的 "Steve" 时,文本应替换为:
"This is a message for Steve"
我还需要以可以发送到服务器的形式获取字符串。即从上面的例子我需要发送字符串:
"This is a message for [username:steve@bloggs.com, id:44]."
我看过https://github.com/splitwise/TokenAutoComplete
这似乎很适合在列表中输入电子邮件,但我不确定如何满足我的需要。请记住,我需要支持 multiple/duplicate 提及:
例如
"This is a message for Steve and Bob. this is the second sentence in the message for Bob"
如果有人知道或做过这样的事情,将不胜感激!
以下方法将提取以“@”开头的单词:
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 替换文本。
我最终使用了 linkedin 的 spyglass 库,它完全符合我的要求。它提供了一个 MentionsEditText(可以定制)。我还使用 ListPopupWindow 在列表中显示建议(如 AutoCompleteTextView)。
这是 link...