У меня есть требование для реализации текста редактирования, который пользователь может ввести что угодно, но когда они вводят новое слово, начинающееся с «@», автозаполнение должно начать показывать потенциальных пользователей.
Я понимаю, как использовать функцию AutoCompleteTextView для фильтрации. Но я не уверен, как захватить символы из последнего слова после символа «@» (игнорируя любые предыдущие слова).
Следовательно, когда пользователь был выбран из списка AutoCompleteTextView, он должен заменить слово на «@», например.
"Это сообщение для @steve"
когда пользователь нажимает «Стив» из списка, текст должен замениться на:
"Это сообщение для Стива"
Мне также нужно получить строку в форме, которую я могу отправить на сервер. то есть из приведенного выше примера мне нужно было бы отправить строку:
"Это сообщение для [имя пользователя:[email protected], id:44]."
Я просмотрел https://github.com/splitwise/TokenAutoComplete.
Что кажется отличным для ввода электронных писем в список, но я не уверен, как удовлетворить мои потребности. Имейте в виду, что мне нужно поддерживать множественные/дублирующиеся упоминания:
eg
"Это сообщение для Стива и Боба. Это второе предложение в сообщении для Боба"
Если кто-то знает или делал что-то подобное, буду очень признателен!