2

我有一个 EditText,它总是包含一个整数……但有时也包含文本……如何检查我的字符串是否包含 EditText 中的文本字段?提前致谢。

4

4 回答 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 回答