java,B.java,C.java在所有三个类中我对特定字符串进行相同的验证。是否可以编写单个类并将其作为类中的方法调用,无论其位于何处,下面是我分别在上述三个类中使用的移动号码的验证。
A.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;
}
答案 0 :(得分:2)
您可以为此验证创建Class,并使用Method;
调用此类public class Validation
{
public static boolean checkValidation(arguments)
{
check your validation here.
return true or false;
}
}
答案 1 :(得分:1)
是的,你可以。创建一个类让我们说Validator.java创建静态方法validate,它根据成功和失败返回boolean。并在任何地方调用函数
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;
}
答案 2 :(得分:0)
是的,您可以编写单个类用于验证目的。将验证器方法添加为静态方法,并从其他类中调用它。
答案 3 :(得分:0)
- 您可以尝试使用静态方法和静态变量创建class
,然后将其调用到您想要的类中。
- 或者您可以使用Singleton Pattern
。
答案 4 :(得分: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课程中使用它
e.g。
boolean valid = MobileValidator.isValid(mobile);
if(!valid) {
// do something
}
答案 5 :(得分:0)
创建一个Utility类并实现手机号码验证的方法,并在任何地方调用它。请确保将方法标记为静态。这样可以避免每次验证手机号码时都创建新实例
答案 6 :(得分: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;
}