如何在android应用程序中提及用户
我想参考一下,关于如何实现提及功能,但是对于android如何在android应用程序中提及用户,android,instagram,callouts,Android,Instagram,Callouts,我想参考一下,关于如何实现提及功能,但是对于android 我想知道它在数据库中的具体情况 主要通过AutoCompleteTextView和处理关键事件来完成。我不会写这样的代码。我可以给你简单的主要想法。您可以通过过度旋转onKeyUp()method来聆听用户在键盘上的单击 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYC
我想知道它在数据库中的具体情况 主要通过AutoCompleteTextView和处理关键事件来完成。我不会写这样的代码。我可以给你简单的主要想法。您可以通过过度旋转
onKeyUp()
method来聆听用户在键盘上的单击
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_AT:
// @ is clicked
// get the usernames
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
现在,您应该开始从数据库中获取用户名,将它们放入AutoCompleteTextView适配器中,根据用户条目进行过滤,当用户选择要提及的朋友或某人“或许多人”时,您可以将其添加到ArrayList并向其推送通知。我想答案已经由旧帖子提供了, 听输入。当用户键入@时,后跟 字符,调用服务器上的url (/user/lookup/?username=joe,例如)路由到 查找以joe开头的用户。将其作为json返回并显示 在下拉列表中 要使其更简单,您需要使用
@
作为关键字,用于理解用户名的开头
e、 g.用户键入以下消息
。。。在纽约与@nour在一起
在Java中,您可以使用正则表达式检测@
boolean foundMatch = false;
Pattern regex = Pattern.compile("\\b(?:@)\\b");
Matcher regexMatcher = regex.matcher(subjectString);
foundMatch = regexMatcher.find();
如果输入字符串有一个@
关键字,则这将匹配
现在,一旦您获得@
关键字,请在@
之后保留所有字符,直到获得一个空格。在本例中,nour
应该是结果,因为它在@
之后开始,在空白之前结束
在服务器部件中,您可以将识别的名称作为用户名
SELECT * FROM USERS WHERE USER_NAME = "nour";
当然,用户名必须是唯一的
希望能有帮助 请你看看这个好吗,您能告诉我如何更改以使其从数据库而不是简单的数组中生成吗。我应该提供相同的类还是可以简化我运行了他们的项目,不,这不是我想做的事情(仍然迷路。有教程吗?我需要你这样的帮助..我想对他的问题发表评论,但我没有足够的声誉:(你有关于这方面的教程吗?@AdamahNour没有,不幸的是,如果你不想了解开源库的工作原理,你必须了解,如果你不想了解开源库的工作原理,请使用Linkedin的开源库