在我的应用程序中,我有一个包含用户(从 db 带来)的编辑文本。有可能不止一个用户以下列方式出现在编辑文本中:UserX、UserY、UserZ
我想使虚拟键盘功能的退格键在单击时删除整个用户,而不是每个字符。
任何提示如何做到这一点?因为我在搜索中没有找到任何东西。(也许我使用了错误的关键字)
我建议您使用SpannableString 。这是一个完整的指南:链接。祝你好运 !
您需要查看侦听器以编辑文本。
然后,当用户按下退格键时,删除,直到你找到一个空格,可能使用一种lastIndexOf()
方法。
因此,您getText()
从EditText
,substring()
直到最后一个空格字符,取该子字符串并将其设置为新文本
在这行代码中,当按下退格按钮时,您可以做任何您想做的事情。就像是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;
}
});