0

java、B.java、C.java 在所有三个类中我对特定字符串进行相同的验证。是否可以编写单个类并在需要时将其作为类中的方法调用,下面是我分别在上述三个类中使用的手机号码的验证。

爪哇

mobile = (EditText) findViewById(R.id.app_mobile);

String ap_Mobile_No = mobile.getText().toString();

if (ap_Mobile_No.equals(null) || (ap_Mobile_No.length() != 10) || ap_Mobile_No.startsWith("0")){
    mobile.setError("E");

    result = false;
}

B.java

EditText mobile = (EditText) findViewById(R.id.gua_mobile);

String gu_Mobile_No = mobile.getText().toString();
if (gu_Mobile_No.equals("") || gu_Mobile_No.length() != 10 || gu_Mobile_No.startsWith("0")) {

    mobile.setError(ssbuilder);
    result = false;
}
4

7 回答 7

2

您可以为此验证创建 Class 并使用 Method 调用此类;

public class Validation
{

   public static boolean checkValidation(arguments)
   {
       check your validation here.

        return true or false;
   }

}
于 2013-08-02T09:52:12.547 回答
1

是的你可以。创建一个类,比如说 Validator.java 创建静态方法 validate,它根据成功和失败返回布尔值。并在任何地方调用函数

 Validatorn.validate(<arguments>)

所以你的班级变成

public final class Validator {

   public static boolean validate(final EditText mobile) {
       boolean isSuccess = true;
       String gu_Mobile_No= mobile.getText().toString();
       if (gu_Mobile_No.equals("") || gu_Mobile_No.length() != 10 || gu_Mobile_No.startsWith("0")) {
          mobile.setError(ssbuilder);
          isSuccess = false;
       }
       return isSuccess;
   }
}

现在类 A.java 成为

mobile = (EditText) findViewById(R.id.app_mobile);
if(Validator.validate(mobile)) {
    return false;
}

和 B.java 类成为

EditText mobile = (EditText) findViewById(R.id.gua_mobile);
if(Validator.validate(mobile)) {
    return false;
}
于 2013-08-02T09:49:58.930 回答
0

是的,您可以为验证目的编写一个类。将验证器方法添加为静态方法并从其他类中调用它。

于 2013-08-02T09:49:42.587 回答
0

-您可以尝试class使用静态方法和静态变量创建一个,然后在您想要的任何类中调用它。

-或者您也可以使用Singleton Pattern.

于 2013-08-02T09:49:55.490 回答
0

是的,一个简单的解决方案是在 MobileValidator 类中创建一个静态方法。静态方法只是其中一种方法......

public class MobileValidator {


public static boolean isValid(EditText mobile) {

    String gu_Mobile_No = mobile.getText().toString();
    if (gu_Mobile_No.equals("") || gu_Mobile_No.length() != 10 || gu_Mobile_No.startsWith("0")) {
       return false;
    }
    return true;
}

}

然后在你的 A/B 类中使用它

例如

boolean valid = MobileValidator.isValid(mobile);
if(!valid) {
  // do something
}
于 2013-08-02T09:52:31.473 回答
0

创建一个 Utility 类并实现用于手机号码验证的方法并在您想要的任何地方调用它。请确保将方法标记为静态。这将避免每次验证手机号码时创建新实例

于 2013-08-02T09:54:53.793 回答
0

怎么样,创建一个像下面这样的类

public class Validate{
  public static boolean ValidateString(String validateString){
    return (validateString.equals("") || validateString.length() != 10 || validateString.startsWith("0"));
  }
} 

然后,在您的代码中,您可以

A.java

 mobile = (EditText) findViewById(R.id.app_mobile);

    String ap_Mobile_No = mobile.getText().toString();

    if (Validate.ValidateString(ap_Mobile_No)==false)
     {
       mobile.setError("E");
       result = false;
    }
于 2013-08-02T09:55:49.743 回答