karweny 2021-03-31 01:25 采纳率: 100%
浏览 380
已采纳

异步请求回来的数据在onResponse中,无法给外部获取

OkHttpClient client = new OkHttpClient.Builder()
                               .connectTimeout(5000, TimeUnit.MILLISECONDS)
                               .build();
        //创建请求内容
        Request request = new Request.Builder()
                .url(RequestUrl.BasePath + RequestUrl.application_getVideoList)
                .get()
                .build();
        Call task = client.newCall(request);
        //异步请求
        task.enqueue(new Callback() {
            @Override
            public void onFailure(@NotNull Call call, @NotNull IOException e) {
                Log.d(TAG, "onFailure--->" + e.toString());
            }

            @Override
            public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
 //               int code = response.code();
//                List<ResourceBean> dataList = new ArrayList<>();
                String responseData = response.body().string();
//                Log.d(TAG, "onResponse--->" + code);
//                Log.d(TAG, "onResponse--->" + responseData);
                Gson gson = new Gson();
                picVideoBean = gson.fromJson(responseData, PicVideoBean.class);
                if (picVideoBean != null) {
                    for (int i=0 ; i < picVideoBean.getData().getVideoList().size(); i++ ){
                        url = picVideoBean.getData().getVideoList().get(i).getFileUrl();
 //                      dataList.add(new ResourceBean(url,2));
                        Log.d(TAG, "url--->--->" + url);
                    }

url在外面获取不了!如何把onResponse下面获取的数值传递到外部?

  • 写回答

5条回答 默认 最新

  • 王半仙 2021-04-02 10:42
    关注

    异步操作 将结果返回给其他地方 有不少方案,比如 使用Handler ,广播 。

    我建议使用Lisenter ,在启动下载模块的时候将lisenter传入,通过回调通知其他模块更新结果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效