我有一个EditText,它总是包含一个整数...但有时也包含text ..如何检查我的字符串是否包含EditText中的文本字段? 提前谢谢。
答案 0 :(得分:8)
我会以下列方式解决问题:
String mEditText = mDisplay.getText().toString();
if(mEditText.matches("[0-9]+")) {
// mEditText only contains numbers
} else {
// mEditText contains number + text, or text only.
}
答案 1 :(得分:2)
我认为您可以检查您的文字是否仅包含数字和/或字母。 如果您构建这样的实用程序方法:
public static boolean isNumeric(String s){
if(TextUtils.isEmpty(s)){
return false;
}
Pattern p = Pattern.compile("[-+]?[0-9]*");
Matcher m = p.matcher(s);
return m.matches();
}
...然后您可以轻松地使用它来检查从TextView检索的文本是否包含整数:)
String text = textview.getText().toString();
if(TextUtils.isEmpty()){
// We have got an empty string
} else if(isNumeric(text){
// Do something
}else{
// It's not numeric do something else
}
答案 2 :(得分:0)
结帐java.lang.Character.isDigit()
。您可以通过迭代其字符并检查它们是否为数字来检查String
是否为数字。
答案 3 :(得分:0)
您还可以在EditText上注册http://developer.android.com/reference/android/text/TextWatcher.html,以便在更改字段时执行这些操作。这允许您在输入时拒绝无效字符或在文本无效时将文本变为红色。