2013-08-02 57 views
0

所有三个类中的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

当然,它的时间可能。做到这一点。当你处理它时,正确地缩进你的代码,并尊重Java命名约定。 –

+0

你能详细说明你的问题吗? – Andrain

+0

在类中创建你的方法,并通过它在不同类中的对象调用它,或者使你的方法是静态的,并通过类名使用它。 –

回答

1

是的,你可以。创建一个类让我们说Validator.java创建静态方法验证,它返回基于成功和失败的布尔值。和通话功能的任何地方为

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; 
} 
0

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

0

-你可以尝试创建一个class静态方法和静态变量然后调用它在不断类你想要的。

-或者您也可以使用Singleton Pattern

2

您可以为此验证和cal创建Class l使用Method的这个类;

public class Validation 
{ 

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

     return true or false; 
    } 

} 
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 
} 
0

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

+0

请投我的答案,我已经解释它没有代码 – junkiecoder

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; 
    } 
+0

thanx很多工作 – Manju