关于回调CallBack

来源:互联网 发布:互穿网络聚合物 编辑:程序博客网 时间:2024/05/21 09:48

1.创建回调类

public abstract class CallBackResult<T> {    public abstract void onSuccess(T t);    public abstract void onError();}

2.创建网络请求方法

public class HttpUtil {    private void load(String s, String s1, CallBackResult<String> callBack) {        // TODO        // 提交参数获取网络请求结果        // TODO 获取结果成功回调        if (true) {            callBack.onSuccess("this is result");        } else {            callBack.onError();        }    }}

3.请求网络,处理结果

public class NetRequest {    private void requestHttp() {        HttpUtil httpUtil = new HttpUtil();        httpUtil.load("1", "2", new CallBackResult<String>() {            @Override            public void onSuccess(String s) {            }            @Override            public void onError() {            }        });    }}
另一种写法

1.回调类
`public class CallBackResult {
//返回不同数量的结果
public static abstract class OnResult{
public void onSuccess(T t){

        }        public void onError(){        }}public static abstract  class TwoResult<T,R>{    public void onSuccess(T t){    }    public void onError(R r){    }}

}
`
2.请求方法

public class Servicess {    public static void fetchData(int data,CallBackResult.OnResult<String> callback){        if(true){           String result=null;            callback.onSuccess(result);        }else{            callback.onError();        }    }}

3.调用

   Servicess.fetchData(1, new CallBackResult.OnResult<String>() {            @Override            public void onSuccess(String s) {                super.onSuccess(s);            }            @Override            public void onError() {                super.onError();            }        });
原创粉丝点击