2013-08-27 48 views
5

在我的应用程序中,我有一个edittext将包含一个用户(从db带来)。 可能有多个用户出现在编辑文本中的方式如下:UserX,UserY,UserZ退格删除整个单词(实体),而不是每个字母/字符

我想让虚拟键盘功能的退格按照点击的方式删除整个用户,而不是每个角色。

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

+0

您是否找到解决方案? – Andrea

回答

1

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

1

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

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

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

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;  
     } 
}); 
+0

有没有办法在软件键盘上使用它? – horro

相关问题