【发布时间】:2013-08-30 13:06:42
【问题描述】:
在我的应用程序中,我有一个包含用户(从 db 获取)的编辑文本。 有可能不止一个用户以下列方式出现在编辑文本中:UserX、UserY、UserZ
我想让虚拟键盘的退格功能在点击时删除整个用户,而不是每个字符。
任何提示如何做到这一点?因为我在搜索中没有找到任何东西。 (也许我使用了错误的关键字)
【问题讨论】:
-
你找到解决办法了吗?
在我的应用程序中,我有一个包含用户(从 db 获取)的编辑文本。 有可能不止一个用户以下列方式出现在编辑文本中:UserX、UserY、UserZ
我想让虚拟键盘的退格功能在点击时删除整个用户,而不是每个字符。
任何提示如何做到这一点?因为我在搜索中没有找到任何东西。 (也许我使用了错误的关键字)
【问题讨论】:
您需要查看侦听器以编辑文本。
然后,当用户按下退格键时,可能会使用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;
}
});
【讨论】:
我建议您使用 SpannableString。这是完整的指南:link。祝你好运!
【讨论】: