如何对edittext执行验证,即我有一个edittext,其中输入了一个名称,这个名称应该是最多10个字母的varchar(type)。
问问题
259 次
2 回答
0
您可以通过设置 OnFocusChangeListener 在 EditText 失去焦点时检查它,然后您可以这样做:
@Override
public void onFocusChange(View v, boolean hasFocus) {
switch(v.getId()){
case R.id.editText:
if(!hasFocus)
{
String StEditText = EditTextView.getText().toString();
if(StEditText.Length() > 10)
{
//Do Some Work
}
}
break;
}
}
于 2013-09-28T08:29:52.640 回答
0
有几种方法可以实现这个......我会告诉你我在我的应用程序中做了什么......
这是为了获得一个数值,但相同的逻辑可用于您需要的任何内容:
setAge.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
String sAge = setAge.getText().toString();
if (isNumeric(sAge)) {
Age = Integer.parseInt(sAge);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(setAge.getWindowToken(), 0);
if (Age < 0) {
Toast.makeText(DietActivity.this,
"Enter Computable Values", Toast.LENGTH_SHORT)
.show();
}
}
}
});
这是 isNumeric :(您可以忽略它或更改它以检查其他类型和内容)
public static boolean isNumeric(String str) {
try {
int i = Integer.parseInt(str);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
如果您只想检查长度,请使用 .length() 之类
if(setAge.length()>10){
//do whatever
}
于 2013-09-28T09:54:02.140 回答