第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何從回調(diào)函數(shù)返回某些內(nèi)容給父函數(shù)

如何從回調(diào)函數(shù)返回某些內(nèi)容給父函數(shù)

梵蒂岡之花 2023-11-01 16:44:22
這就是我要做的UploadCompleteListener 是一個(gè)充當(dāng)回調(diào)的自定義接口。@Overriderpublic Result doWork() {        mUpLoadDataService.uploadInspectionData(new UpLoadDataService.UploadCompleteListener() {            @Override            public void uploadComplete() {                    return Result.success(); //this is what I want to do            }            @Override            public void uploadFailed(String reason) {                return Result.failure(); //this is what I want to do            }        });        return null;    }是否可以?如果可能的話,請盡快回復(fù)。如果您需要,我可以提供更多詳細(xì)信息。
查看完整描述

4 回答

?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

** 這對(duì)我有用 **


 @NonNull

    @Override

    public Result doWork() {

        final Result[] result = new Result[1];

        mUpLoadDataService.uploadInspectionData(new UpLoadDataService.UploadCompleteListener() {

            @Override

            public void uploadComplete() {

                    result[0] = Result.success(); //this is what I want to do

            }


            @Override

            public void uploadFailed(String reason) {

                result[0] = Result.failure(); //this is what I want to do

            }

        });


        return result[0];

    }


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

  public Result doWork(UpLoadDataService.UploadCompleteListener uploadListener) {


    mUpLoadDataService.uploadInspectionData(uploadListener);


    return null;

}

現(xiàn)在傳遞父函數(shù)的實(shí)現(xiàn)。假設(shè)你的父函數(shù)被命名為foobar


void foobar() {

   someObject.doWork(new UpLoadDataService.UploadCompleteListener() {

   @Override

   public void uploadComplete() {

       //write your logic here

       return Result.success(); 

   }


   @Override

   public void uploadFailed(String reason) {

       //write your logic here

       return Result.failure(); 

   }

   });

}


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以使用以下方式獲取任務(wù)的回調(diào)


 doWork(paremter, new ServiceListener<String>() { //paremter if any

        @Override

        public void success(String obj) {

            //get the response if success

        }

        @Override

        public void fail(ServiceError error) {

            //get the error response


        }

    });

完成工作并從調(diào)用的地方發(fā)送調(diào)用響應(yīng)


 private void doWork(String param , ServiceListener<String> serviceListener) {



    mUpLoadDataService.uploadInspectionData(new UpLoadDataService.UploadCompleteListener() {

        @Override

        public void uploadComplete() {

            serviceListener.success("success");

        }


        @Override

        public void uploadFailed(String reason) {

            serviceListener.fail(new ServiceError("Can not Upload"));

        }

    });


}

ServiceListener接口定義如下


public interface ServiceListener<T> {

    void success(T obj);

    void fail(ServiceError error);

}

public class ServiceError {

    public Throwable errorObject;

    public String message;


    public ServiceError(){

        message = "";

    }


    public ServiceError(String message){

        this.message = message;

    }


    public ServiceError(String message, Throwable errorObject){

        this.message = message;

        this.errorObject = errorObject;

    }


    public Object getErrorObject() {

        return errorObject;

    }


    public void setErrorObject(Throwable errorObject) {

        this.errorObject = errorObject;

    }


    public String getMessage() {

        return message;

    }


    public void setMessage(String message) {

        this.message = message;

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以EventBus在您想要的每個(gè)地方使用通知訂閱方法,如下所示:


public class MessageEvent {


    public final String message;


    public MessageEvent(String message) {

        this.message = message;

    }

}



public void doWork() {


        mUpLoadDataService.uploadInspectionData(new UpLoadDataService.UploadCompleteListener() {

            @Override

            public void uploadComplete() {

                    EventBus.getDefault().post(new MessageEvent("success"));

            }


            @Override

            public void uploadFailed(String reason) {

                    EventBus.getDefault().post(new MessageEvent("failed"));

            }

        });


    }



@Subscribe(threadMode = ThreadMode.MAIN)

public void onMessageEvent(MessageEvent event) {

    Toast.makeText(getActivity(), event.message, Toast.LENGTH_SHORT).show();

}

請參閱本實(shí)施指南。


查看完整回答
反對(duì) 回復(fù) 2023-11-01
  • 4 回答
  • 0 關(guān)注
  • 157 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)