2015-08-08 1 views

ответ

2

Я думаю, ответ уже предоставил старый пост,

Слушайте к входу. Когда пользователь вводит символ @, за которым следует символ , позвоните на URL-адрес вашего сервера (/ user/lookup /? Username = joe, например), который направляет на представление, которое ищет пользователей, начинающихся с joe , Верните его как json и покажите его в выпадающем меню.

Чтобы сделать намного проще, вам необходимо использовать @ в качестве ключевого слова, которое будет использоваться для понимания начала имени пользователя.

например. пользователь следующее сообщение

... был с @nour в Нью-Йорке

в Java вы можете обнаружить @ используя регулярное выражение,

boolean foundMatch = false; 
Pattern regex = Pattern.compile("\\b(?:@)\\b"); 
Matcher regexMatcher = regex.matcher(subjectString); 
foundMatch = regexMatcher.find(); 

Это будет соответствовать, если вход string имеет ключевое слово @

Теперь, когда вы получаете ключевое слово @, возьмите все символы после @, пока вы не получите пробел. В этом примере должен быть результатом с момента его запуска после @ и заканчивается до white space.

В серверной части чем вы можете признанное имя как USER_NAME,

SELECT * FROM USERS WHERE USER_NAME = "nour"; 

Of-конечно имя пользователя должно уникальным.

Надеюсь, это поможет.

+0

Пожалуйста, взгляните на это. https://zunostudios.com/blog/development/176-how-to-implment-hashtags-and-callouts-in-android, можете ли вы рассказать мне, что изменить, чтобы сделать это из базы данных, а не простого массива. должен ли я предоставить те же классы, или я могу сделать это проще – Rawan

+0

Я запустил их проект, и нет, это не то, что я хочу сделать .. :(все еще потеряно. Какие-то уроки? – Rawan

+0

Мне нужна ваша помощь.http://stackoverflow.com/questions/25765364/parse-auto-suggestion-query-results-based-on-app-data Я хотел добавить комментарий к его вопросу, но у меня недостаточно репутации :( – Rawan

1

В основном это выполняется с помощью автокомплектаTextView и обработки ключевых событий. Я не могу написать такой код. Я могу дать вам простые основные идеи. Слушает пользователь нажимает на клавиатуре с помощью overrinding onKeyUp() метода

@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 и нажимаете на них уведомление.

+0

У вас есть учебник или что-то еще для этого? – Rawan

+0

@AdamahNour Нет, к сожалению, вам нужно это узнать – SaNtoRiaN

 Смежные вопросы

  • Нет связанных вопросов^_^