Как открыть диалоговое окно при нажатии клавиши @ в Android? - PullRequest
1 голос
/ 25 февраля 2020

Это код, который я написал, но я получаю полную строку, и функция запускается, только если первый символ - @. Я хочу, чтобы он проверял каждый экземпляр @ и всякий раз, когда нажимается клавиша @, я хочу открыть диалоговое окно. Я попытался использовать onKeyDown(), но не смог заставить его работать.

override fun afterTextChanged(editable: Editable?) {
viewModel.onDoubtTextChanged(editable.toString())
if (editable.toString() == "@") {
openUserSuggestionDialog(doubtDescription.users as ArrayList<User>,viewModel)
}

editable содержит значение, которое вводится в TextView

1 Ответ

1 голос
/ 25 февраля 2020

Добавление прослушивателя TextChange к вашему тексту редактирования

 editable.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                //get the last String entered
                String lala = editable.getText().toString();
                String subChar = lala.substring(lala.length() - 1);
                     if(subChar.equals("@"))
                      openUserSuggestionDialog(doubtDescription.users as ArrayList<User>,viewModel)


            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...