退格键删除整个单词(实体)而不是每个字母/字符

时间:2013-08-27 16:50:03

标签: android backspace

在我的应用程序中,我有一个edittext,它将包含一个用户(来自db)。 以下方式存在编辑文本中的用户以外的可能性:UserX,UserY,UserZ

我想以这样一种方式制作虚拟键盘功能的退格键,点击后,它会删除整个用户,而不是每个字符。

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

3 个答案:

答案 0 :(得分:1)

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

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

所以,你getText()来自EditText,你substring()直到最后一个空格字符,取这个子字符串并将其设置为新文本

答案 1 :(得分: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;       
        }
});

答案 2 :(得分:1)

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