如何从Volley的onResponse函数返回值?

public class getString  {

String tag_string_req = "string_raq";

String url = "http://10.0.2.2/eat/locations/index.json";

String result="";


public String get_String() {

    StringRequest strReq = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {

        @Override

        public void onResponse(String response) {

            result=response;

            System.out.println(response);

            ;


        }

    }, new Response.ErrorListener() {

        @Override

        public void onErrorResponse(VolleyError volleyError) {

            System.out.println(volleyError.getMessage());

        }

    });

    AppController.getInstance().addToRequestQueue(strReq, tag_string_req);

    return result;

}}

我将建立一个getString对象,并在其他字段中调用get_String。但是似乎很难从onResponse中获得结果。我知道它不能以这种当前方式工作。谁能帮我解决这个问题?


守候你守候我
浏览 744回答 2
2回答

一只萌萌小番薯

只需在方法签名中声明变量回调final,因为您不会更改它(至少在此基本情况下):public void getString(final VolleyCallback callback)。
打开App,查看更多内容
随时随地看视频慕课网APP