Android检查EditText

时间:2012-04-16 00:09:40

标签: java android android-edittext

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

4 个答案:

答案 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是否为数字。

Reference

答案 3 :(得分:0)

您还可以在EditText上注册http://developer.android.com/reference/android/text/TextWatcher.html,以便在更改字段时执行这些操作。这允许您在输入时拒绝无效字符或在文本无效时将文本变为红色。