В моем приложении у меня есть edittext, который будет содержать пользователя (привезенного из db). Существует вероятность того, что внутри edittext будет присутствовать больше, чем пользователь: UserX, UserY, UserZ
Я хочу сделать backspace функции виртуальной клавиатуры таким образом, чтобы при щелчке удалялся весь пользователь, а не каждый символ.
Любые подсказки, как это сделать? Поскольку я не нашел ничего в моих поисках. (Возможно, я использовал неправильные ключевые слова)
Я предлагаю вам использовать 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; } });