2013-08-02 41 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