[英]How to call a class from another class
我在所有三个类中的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;
}
您可以为此验证创建Class并使用Method调用该类;
public class Validation
{
public static boolean checkValidation(arguments)
{
check your validation here.
return true or false;
}
}
是的你可以。 创建一个类可以说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;
}
是的,您可以编写单个类进行验证。 将验证器方法添加为静态方法,并从其他类中调用它。
-您可以尝试使用静态方法和静态变量创建一个class
,然后在所需的任何类中调用它。
-或者,您也可以使用Singleton Pattern
。
是的,一个简单的解决方案是在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
}
创建一个Utility类,并实现用于手机号码验证的方法,然后在任意位置调用它。 请确保将方法标记为静态。 这样可以避免每次验证手机号码时都创建新实例
怎么样,创建一个像下面这样的类
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.