7

在我的应用程序中,我有一个包含用户(从 db 带来)的编辑文本。有可能不止一个用户以下列方式出现在编辑文本中:UserX、UserY、UserZ

我想使虚拟键盘功能的退格键在单击时删除整个用户,而不是每个字符。

任何提示如何做到这一点?因为我在搜索中没有找到任何东西。(也许我使用了错误的关键字)

4

3 回答 3

3

我建议您使用SpannableString 。这是一个完整的指南:链接。祝你好运 !

于 2013-08-27T17:54:30.180 回答
2

您需要查看侦听器以编辑文本。

然后,当用户按下退格键时,删除,直到你找到一个空格,可能使用一种lastIndexOf()方法。

因此,您getText()EditTextsubstring()直到最后一个空格字符,取该子字符串并将其设置为新文本

于 2013-08-27T17:47:17.610 回答
1

在这行代码中,当按下退格按钮时,您可以做任何您想做的事情。就像是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;       
        }
});
于 2013-08-27T17:49:19.837 回答