如何获取逗号“&引用;在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)
对于这个问题,有几种更简单的解决方案-例如检查String.contains(“,”)或String.IndexOf()请考虑输入第一个字符(如q)时的情况:
- 结果计算为“Q”
- Result.Length()的计算结果为1
- Result.substring(Result.length()-2,Result.length()-1)的计算结果为Result.substring(-1,0)
对于这个问题,有几种更简单的解决方案,例如检查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;
}
}
}