Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取逗号“&引用;在android的编辑文本中输入_Android_Android Edittext - Fatal编程技术网

如何获取逗号“&引用;在android的编辑文本中输入

如何获取逗号“&引用;在android的编辑文本中输入,android,android-edittext,Android,Android Edittext,当在编辑文本中输入逗号“,”时,我将如何获得该值。 这就是我要做的 newCategryET.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence returnedResult, int start, int before, int count) { String result

当在编辑文本中输入逗号“,”时,我将如何获得该值。 这就是我要做的

newCategryET.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence returnedResult, int start,
                int before, int count) {

            String result = returnedResult.toString();
            String result2 = result.substring(result.length() - 2,
                    result.length() - 1);
            if (result2.equals(",")) {
                addCategoryToLayout(result.substring(0, result.length() - 1));
                newCategryET.setText("");
                return;

            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {

        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });
每当按下逗号时,我想将编辑文本的文本添加到布局中 但我得到的数组索引超出了绑定异常

有什么帮助吗

这是我的日志错误-

java.lang.StringIndexOutOfBoundsException: length=1; regionStart=-1; regionLength=1

可以使用字符串的contains方法检查字符串是否包含逗号

String.contains(",")

然后,每当出现逗号时,使用字符串标记器拆分字符串

可以使用字符串的contains方法检查字符串是否包含逗号

String.contains(",")

然后,每当出现逗号时,使用字符串标记器拆分字符串

请考虑输入第一个字符时的情况(如q):

  • 结果计算为“Q”
  • Result.Length()的计算结果为1
  • Result.substring(Result.length()-2,Result.length()-1)的计算结果为Result.substring(-1,0)
尝试从位置-1开始获取此子字符串会导致异常


对于这个问题,有几种更简单的解决方案-例如检查String.contains(“,”)或String.IndexOf()

请考虑输入第一个字符(如q)时的情况:

  • 结果计算为“Q”
  • Result.Length()的计算结果为1
  • Result.substring(Result.length()-2,Result.length()-1)的计算结果为Result.substring(-1,0)
尝试从位置-1开始获取此子字符串会导致异常


对于这个问题,有几种更简单的解决方案,例如检查String.contains(“,”)或String.IndexOf()

试试这种方法,希望能奏效

            @Override
            public void onTextChanged(CharSequence returnedResult, int start,
                    int before, int count) {

                    if (count > 0) {                    

                    String s1 = "" + result.charAt(start);
                    if (s1.toString().equals(",")) {
                        addCategoryToLayout(result.substring(0, result.length() - 1));
                    newCategryET.setText("");
                    return;
                    }
                }
            }

试试这种方法,希望能奏效

            @Override
            public void onTextChanged(CharSequence returnedResult, int start,
                    int before, int count) {

                    if (count > 0) {                    

                    String s1 = "" + result.charAt(start);
                    if (s1.toString().equals(",")) {
                        addCategoryToLayout(result.substring(0, result.length() - 1));
                    newCategryET.setText("");
                    return;
                    }
                }
            }