【问题标题】:Backspace to delete whole word (entity) instead of each letter/character退格删除整个单词(实体)而不是每个字母/字符
【发布时间】:2013-08-30 13:06:42
【问题描述】:

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

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

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

【问题讨论】:

  • 你找到解决办法了吗?

标签: android backspace


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    在这行代码中,当按下退格按钮时,您可以做任何您想做的事情。类似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;       
            }
    });
    

    【讨论】:

    • 有没有办法在软件键盘中使用它?
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多