0

java、B.java、C.java の 3 つのクラスすべてで、特定の文字列に対して同じ検証を行います。単一のクラスを作成し、それが必要な場合はクラス内のメソッドとして呼び出すことは可能ですか? 以下は、上記の 3 つのクラスでそれぞれ使用する携帯電話番号の検証です。

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

7 に答える 7

0

はい、簡単な解決策は、MobileValidator クラスで静的メソッドを作成することです。静的メソッドは、それを行う 1 つの方法にすぎません...

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 に答える