如何限制editText中的某些字符

尼亚兹

请不要急于将此消息标记为“重复”。我找不到合适的例子。假设我想在editText中限制字符“ {”。

让我们考虑一下我的代码的一些变体。我只在模拟器上尝试过它们。

       editName.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {
            String txt=s.toString();
            int len=txt.length();
            toastDebug("len="+myIntToStr(len));
            if (len>0) {
                try {
                    int pos=txt.indexOf("{");
                    if (pos>=0) s.replace(pos,pos+1,"");
                }
                catch(Exception e) {}
            }
        }

如果我快速键入“ {”,将导致“ stackOverFlow”崩溃。假设我缓慢输入“ abcd {{{{{{{}”。对于第一个视图,看起来不错,editText中没有“ {”。但是,如果我键入退格键,则不会删除“ abcd”,而是会删除那些不可见的“ {{{{{””

我试图在“ afterTextChanged”内部更改editText。下面的代码再次导致stackOverflowError。

            public void afterTextChanged(Editable s) {
            String txt=s.toString();
            int len=txt.length();
            if (len>0) {
                try {
                   editName.setText(txt)
                   or
                   s.clear
                   s.append(txt)
                }
                catch(Exception e) {}
            }
        }

当我键入“ {”后,许多带有此类代码的示例都会清除我的editText。

好吧,我将这段代码修改如下:

    editName.setFilters(new InputFilter[] { filterName });

    private InputFilter filterName = new InputFilter() {
    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        if (source==null) return null;
            return source.toString().replace("{","");
    }
};

现在可以了。但是我的android:maxLength =“ 25”无法正常工作。可以键入任意数量的字符。

所以我很困惑如何限制editText中的简单字符。有任何想法吗?谢谢!

用户

您可以EditText通过TextWatcher在小部件上设置a并在下面插入逻辑来限制用户可以输入的字符

// we are interested in this callback
@Override
public void afterTextChanged(Editable s) {
    String result = s.toString().replaceAll("\\{", "");
    if (!s.toString().equals(result)) {
         edit.setText(result); // "edit" being the EditText on which the TextWatcher was set
         edit.setSelection(result.length()); // to set the cursor at the end of the current text             
    }
}

\\需要(以及其他字符),因为该{字符具有以图案的特殊含义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过Android中的软键盘将我的EditText输入限制为某些特殊字符,例如反斜杠(/),tild(〜)等

来自分类Dev

如何在EditText中设置字符数限制?

来自分类Dev

如何仅在PHP中限制某些特殊字符?

来自分类Dev

限制android密码edittext中的特殊字符

来自分类Dev

如何在不受 InputType 限制的情况下将字符串粘贴到 EditText 中?

来自分类Dev

如何禁用“edittext”键盘中的某些按钮

来自分类Dev

如何限制textview接受某些或所有特殊字符?

来自分类Dev

如何限制带有某些字符数的html文本?

来自分类Dev

将文件中的行限制为某些字符值

来自分类Dev

将文件中的行限制为某些字符值

来自分类Dev

如何从Java文件中的某些字符读取某些字符?

来自分类Dev

如何从Java文件中的某些字符读取某些字符?

来自分类Dev

如何在editText框的右下角显示editText字符限制?下面的例子

来自分类Dev

如何限制editText中的特定单词或数字序列?

来自分类Dev

如何使EditText中的特定字符加粗?

来自分类Dev

如何从editText中的特定字符检测文本?

来自分类Dev

如何限制对MVC 5中某些视图和操作的访问?

来自分类Dev

如何在Drupal中限制某些用户对内容的访问?

来自分类Dev

如何限制类采用Java中的某些类型?

来自分类Dev

如何使用ACL限制对Redis pubsub中某些主题的访问?

来自分类Dev

如何使用Laratrust 5.2。*限制选择框中的某些选项

来自分类Dev

如何限制在Flutter的RerderableListView中拖动某些元素

来自分类Dev

如何限制类采用Java中的某些类型?

来自分类Dev

如何限制某些项目在 CComboBox 中不被选中?

来自分类Dev

如何限制UIAlertView UITextField中的字符输入

来自分类Dev

如何限制MVC中的字符数

来自分类Dev

如何限制JTextPane中的字符数?

来自分类Dev

如何从向量中基于某些模式提取某些字符?

来自分类Dev

如何从向量中基于某些模式提取某些字符?

Related 相关文章

  1. 1

    如何通过Android中的软键盘将我的EditText输入限制为某些特殊字符,例如反斜杠(/),tild(〜)等

  2. 2

    如何在EditText中设置字符数限制?

  3. 3

    如何仅在PHP中限制某些特殊字符?

  4. 4

    限制android密码edittext中的特殊字符

  5. 5

    如何在不受 InputType 限制的情况下将字符串粘贴到 EditText 中?

  6. 6

    如何禁用“edittext”键盘中的某些按钮

  7. 7

    如何限制textview接受某些或所有特殊字符?

  8. 8

    如何限制带有某些字符数的html文本?

  9. 9

    将文件中的行限制为某些字符值

  10. 10

    将文件中的行限制为某些字符值

  11. 11

    如何从Java文件中的某些字符读取某些字符?

  12. 12

    如何从Java文件中的某些字符读取某些字符?

  13. 13

    如何在editText框的右下角显示editText字符限制?下面的例子

  14. 14

    如何限制editText中的特定单词或数字序列?

  15. 15

    如何使EditText中的特定字符加粗?

  16. 16

    如何从editText中的特定字符检测文本?

  17. 17

    如何限制对MVC 5中某些视图和操作的访问?

  18. 18

    如何在Drupal中限制某些用户对内容的访问?

  19. 19

    如何限制类采用Java中的某些类型?

  20. 20

    如何使用ACL限制对Redis pubsub中某些主题的访问?

  21. 21

    如何使用Laratrust 5.2。*限制选择框中的某些选项

  22. 22

    如何限制在Flutter的RerderableListView中拖动某些元素

  23. 23

    如何限制类采用Java中的某些类型?

  24. 24

    如何限制某些项目在 CComboBox 中不被选中?

  25. 25

    如何限制UIAlertView UITextField中的字符输入

  26. 26

    如何限制MVC中的字符数

  27. 27

    如何限制JTextPane中的字符数?

  28. 28

    如何从向量中基于某些模式提取某些字符?

  29. 29

    如何从向量中基于某些模式提取某些字符?

热门标签

归档