如何在片段(导航抽屉)中运行Volley?

Rav*_*del 4 connection android android-fragments navigation-drawer android-volley

我想通过点击导航抽屉中的新项目来拨打凌空.
如何从Fragment运行Volley?我可以在活动中轻松地截击,但它在"this"中显示错误.即

// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
Run Code Online (Sandbox Code Playgroud)

在上面的代码如何在Fragment中运行截击?在导航抽屉?

我这样做:

 public CollegesFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_colleges, container, false);


        // Instantiate the RequestQueue.
   RequestQueue queue = Volley.newRequestQueue(this);



        // Request a string response from the provided URL.
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                // Display the first 500 characters of the response string.
                Toast.makeText(getActivity(), response, Toast.LENGTH_LONG).show();
                Log.d("TAG", "hello");
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });

        return rootView;
    }
Run Code Online (Sandbox Code Playgroud)

请给我一点想法.

son*_*net 5

在返回rootView之前,您需要添加以下行:

queue.add(stringRequest);
Run Code Online (Sandbox Code Playgroud)

您需要将请求添加到RequestQueue.

此外,Volley.newRequestQueue(context)将Context作为参数.所以你应该传递活动上下文或应用程序上下文.

RequestQueue queue = Volley.newRequestQueue(getActivity().getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助