[英]Check if EditText Input is a String
我有一个称为Input的EditText窗口小部件,它要求输入用户名,还有一个Button,单击该按钮时,它将在TextView中将其显示为输出。 如何测试以确保用户输入的是String值而不是一堆整数? 这里可以抛出任何类型的异常吗? 谢谢。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
String name = input.getText().toString();
//How can I find out if the user is typing in something
//other than a String here?
output.setText(input.getText());
}catch(NumberFormatException e){
Log.v("Not a number", TAG);
output.setError("Must Be A Number");
output.setText("");
}
尝试这一检查输入文本是字符串还是数字
//it gives true if text is number else it return false
public static boolean isNumeric(String str)
{
try
{
double d = Double.parseDouble(str);
}
catch(NumberFormatException nfe)
{
return false;
}
return true;
}
否则,您可以尝试以下方法:
String regexString = "^[0-9]*$";
if(editText.getText().toString().trim().matches(regexString))
{
//it is digit
}
else{
//it is string
}
Pattern p = Pattern.compile("[^\\p{L}+]");
Matcher m = p.matcher(" input string ")
if(m.find())
//do whatever you want when input has digits/ special characters/ white space
else
//valid string
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.