首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在片段中运行异步甚至没有被运行。

在片段中运行异步甚至没有被运行。
EN

Stack Overflow用户
提问于 2017-09-01 16:40:48
回答 1查看 40关注 0票数 0

我运行的命令如下:

代码语言:javascript
复制
new GetGameScoresFromFuhantikAPI()

我的方法是->

代码语言:javascript
复制
    private class GetGameScoresFromFuhantikAPI extends AsyncTask<Void, Void, Void> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            MethodContants.showLog(TAG, "Loading FUHNATIK API", true);

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            HttpHandler sh = new HttpHandler();
            // Making a request to url and getting response


            String url = API_URL + jsonFile;
//                String url = "http://www.nfl.com/liveupdate/game-center/" + list.get(i) + "/" + list.get(i) + "_gtd.json";
            String jsonStr = sh.makeServiceCall(url);

            Log.e(TAG, "Response from FUHNATIK API: " + url);
            if (jsonStr != null) {
                try {

                    //JSONObject object = new JSONObject(json);
                    JSONObject object = new JSONObject(jsonStr);

                    currentWeek = object.getString("pypwk");
                    currentWeekDB = object.getString("mdb");
                    JSONArray array = (JSONArray) object.get("g");

                    scheduleModelList = new ArrayList<>();

                    for (int i = 0; i < array.length(); i++) {
                        //TODO IF WE DONT PLAY THURSDAY GAMES PUT LIST.ADD IN HERE

//                if (!array.getJSONObject(i).getString("-d").equals("Thu")){
//
//                }

                        scheduleModelList.add(new ScheduleModel(array.getJSONObject(i).getString("-v"),
                                array.getJSONObject(i).getString("-h"),
                                array.getJSONObject(i).getString("-t"),
                                array.getJSONObject(i).getString("-d"),
                                array.getJSONObject(i).getString("-eid").substring(0, 8),
                                array.getJSONObject(i).getString("-t") + array.getJSONObject(i).getString("-q"),
                                array.getJSONObject(i).getString("-vnn"),
                                array.getJSONObject(i).getString("-hnn"),
                                "...select a team...",
                                array.getJSONObject(i).getString("-eid"),
                                array.getJSONObject(i).getString("-vs"),
                                array.getJSONObject(i).getString("-hs"),
                                array.getJSONObject(i).getString("-w")));



                    }


                } catch (final JSONException e) {
                    Log.e(TAG, "FUHNATIK API: Json parsing error: " + e.getMessage());
                }
            } else {



                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Log.e(TAG, "FUHNATIK API: Couldn't get json from server.");
                        Toast.makeText(getContext(), "Getting from ESPN", Toast.LENGTH_SHORT).show();
                        //new GetGameScoresFromESPN().execute();
                    }
                });
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            final ListViewAdapterResults adapter = new ListViewAdapterResults(listView.getContext(), scheduleModelList);
            listView.setAdapter(adapter);
            MethodContants.showLog(TAG, "DONE WITH LOADING FUHNATIK API", false);
        }
    }

我似乎不明白为什么代码从来不被运行。我运行了调试器,但我真的不能确定这是失败的地方。如能对此提供任何帮助,将不胜感激。

最终,如果json文件不在这个URL上,我将从NFL获得json。但是,如果没有这种工作,ESPN也将无法工作,而且我真的不知道错误在哪里。我得假设这是个很容易解决的问题。

再次,如前所述,任何帮助都将是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 16:49:46

在上面的代码行中,您调用了Class,但是忘记了执行异步任务。因此,不需要调用Overriden方法。试试这个:

代码语言:javascript
复制
new GetGameScoresFromFuhantikAPI().execute();

如果要传递某个参数作为参数,请给出由昏迷分隔的参数,如下所示:

代码语言:javascript
复制
new GetGameScoresFromFuhantikAPI().execute(arg0, arg1);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46004653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档