Backspace для удаления всего слова (сущности) вместо каждой буквы / символа
В моем приложении у меня есть edittext, который будет содержать пользователя (взятого из БД). Существует возможность, что внутри edittext будет присутствовать больше пользователя следующим образом: UserX, UserY, UserZ
Я хочу сделать функцию backspace виртуальной клавиатуры таким образом, чтобы при щелчке она удаляла всего пользователя, а не каждый символ.
Есть какие-нибудь подсказки, как это сделать? Так как я ничего не нашел во время своих поисков. (возможно, я использовал неправильные ключевые слова)
3 ответа:
Я предлагаю вам использовать SpannableString .Вот полное руководство: Ссылка . Удачи вам !
Вам нужно заглянуть в прослушиватели для редактирования текста.
Затем, когда пользователь нажимает backspace, удалите, пока не найдете пробел, возможно, используя метод
lastIndexOf()
.Итак, вы
getText()
изEditText
, Выsubstring()
его до последнего пробела, берете эту подстроку и устанавливаете ее как новый текст
В этой строке кода Вы можете делать все, что хотите, когда нажата кнопка backspace. Что-то вроде
editText.setText("");
editText.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //You can identify which key pressed buy checking keyCode value with KeyEvent.KEYCODE_ if(keyCode == KeyEvent.KEYCODE_DEL){ //this is for backspace } return false; } });