使用 android volley 发出两个请求

Making two requests with android volley

我需要用不同的参数、响应和参数发出两个请求,并使用 volley。下面是我的代码

private void LoadFirst() {
        pDialog = new ProgressDialog(getActivity());

        // Showing progress dialog before making http request
        pDialog.setMessage("Loading...");
        pDialog.show();
        final StringRequest userReq = new StringRequest(Method.POST,
                AppConfig.URL_REGISTER, jsonSubjectListener, errorSubjectListener) {

            @Override
            protected Map<String, String> getParams() {
                // Posting params to register url
                Map<String, String> params = new HashMap<String, String>();
                params.put("tag", "retrieveFirst");
                return params;
            }

        };
        AppController.getInstance().addToRequestQueue(userReq);
    }
}

    private void LoadSecond(final String user_type) {
    // Session manager
    session = new SessionManager(getActivity().getApplicationContext());

    // initialising progress dialog
    pDialog = new ProgressDialog(getActivity());

    // Showing progress dialog before making http request
    pDialog.setMessage("Loading...");
    pDialog.show();

    StringRequest userReq = new StringRequest(Method.POST,
            AppConfig.URL_REGISTER, jsonListener, errorListener) {

        @Override
        protected Map<String, String> getParams() {
            // Posting params to register url
            Map<String, String> params = new HashMap<String, String>();

            params.put("tag", "retrieveSecond");

            params.put("user_type", user_type);
            return params;
        }

    };
    AppController.getInstance().addToRequestQueue(userReq);
}

然后我在片段的onActivityCreated 下调用了这两个函数。但它一直在无限期地加载。我在 RequestFuture 上阅读了一些内容,但看不到它如何通过两个不同的参数 errorListeners 和 ResponseListeners 帮助我。谢谢

我的看法是这样的。您正在调用两种方法,每个方法都这样做:

pDialog = new ProgressDialog(getActivity());

第二次在同一引用上实例化进度对话框时,无法再访问仍在显示的旧进度对话框。所以并不是请求永远加载。只是您不能再关闭第一个进度对话框。 我认为您只需要在两种方法之前在外部实例化一次此进度对话框。