Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 嵌套回调太深_Java_Android - Fatal编程技术网

Java 嵌套回调太深

Java 嵌套回调太深,java,android,Java,Android,如何替换嵌套回调(Testing.java)以便于阅读: if(isValidGenderID() && isValidReligionID() && isValidMaritalID()){ // DO PRIMARY TASK } 嵌套回调太深,使程序不易阅读!。如何解决这个问题 //PersonValidation.java public static void isValidGenderID(@NonNull Context context, in

如何替换嵌套回调(Testing.java)以便于阅读:

if(isValidGenderID() && isValidReligionID() && isValidMaritalID()){
   // DO PRIMARY TASK
}
嵌套回调太深,使程序不易阅读!。如何解决这个问题

//PersonValidation.java

public static void isValidGenderID(@NonNull Context context, int genderID, final IGenderDataSource.IIsExistGenderIDCallback callback) {

    GenderDataSource.getInstance(context).isExistGenderID(genderID, new IGenderDataSource.IIsExistGenderIDCallback() {
        @Override
        public void onSuccess(boolean result) {
            callback.onSuccess(result);
        }

        @Override
        public void onFailure(String result) {
            callback.onFailure(result);
        }
    });
}

public static void isValidReligionID(@NonNull Context context, int religionID, final IReligionDataSource.IIsExistReligionIDCallback callback) {
        ReligionDataSource.getInstance(context).isExistReligionID(religionID, new IReligionDataSource.IIsExistReligionIDCallback() {
        @Override
        public void onSuccess(boolean result) {
            callback.onSuccess(result);
        }

        @Override
        public void onFailure(String result) {
            callback.onFailure(result);
        }
    });
}

public static void isValidMaritalID(@NonNull Context context, int maritalID, final IMaritalDataSource.IIsExistMaritalIDCallback callback) {
        MaritalDataSource.getInstance(context).isExistMaritalID(maritalID, new IMaritalDataSource.IIsExistMaritalIDCallback() {
        @Override
        public void onSuccess(boolean result) {
            callback.onSuccess(result);
        }

        @Override
        public void onFailure(String result) {
            callback.onFailure(result);
        }
    });
}
//GenderDataSource.java

@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();

        }
    };
    appExecutors.getLocalDb().execute(r);
}
//religinandasource.java

@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();

        }
    };
    appExecutors.getLocalDb().execute(r);
}
//MaritalDataSource.java

@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();
        }
    };
    appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            db.sqlRawQuery();
            callback.onSuccess();

        }
    };
    appExecutors.getLocalDb().execute(r);
}
//java(嵌套调用太深,使程序不易阅读)