我有一个 EditText,它总是包含一个整数……但有时也包含文本……如何检查我的字符串是否包含 EditText 中的文本字段?提前致谢。
问问题
4242 次
4 回答
8
我将通过以下方式解决问题:
String mEditText = mDisplay.getText().toString();
if(mEditText.matches("[0-9]+")) {
// mEditText only contains numbers
} else {
// mEditText contains number + text, or text only.
}
于 2012-04-16T00:46:43.040 回答
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
}
于 2012-04-16T00:48:15.287 回答
0
退房java.lang.Character.isDigit()
。您可以String
通过遍历其字符并检查它们是否为数字来检查 a 是否为数字。
于 2012-04-16T00:33:53.253 回答
0
您还可以在 EditText 上注册http://developer.android.com/reference/android/text/TextWatcher.html以在字段更改时执行这些操作。这使您可以做一些好事,例如在输入无效字符时拒绝它们,或者在文本无效时将文本变为红色。
于 2012-04-16T01:30:20.350 回答