方法返回null值

时间:2013-11-26 08:22:22

标签: android performance android-fragments android-volley

这是我的布局代码;

static  String userLocation(String url) {

    RequestQueue queue = Volley.newRequestQueue(context);
    // String url = "http://www.jobdiagnosis.com/iphone/userlocation.php";

     StringRequest dr = new StringRequest(Request.Method.GET, url, 
                new Response.Listener<String>() 
                {
                    @Override
                    public void onResponse(String response) {
                        // response
                        res=response;
                        //edit_location.setText(response);
                       // Toast.makeText(context, response, Toast.LENGTH_LONG).show();
                    }
                }, 
                new Response.ErrorListener() 
                {
                     @Override
                     public void onErrorResponse(VolleyError error) {
                         // error.
                         Toast.makeText(getApplicationContext(), "error"+error, Toast.LENGTH_LONG).show();
                         Log.d("error", ""+error);
                   }
                }
            );
            queue.add(dr);
            return res;
 }

当我用同样的方法干杯响应时,响应打印正常 当我调用method和print return语句时,res打印出null。

感谢任何帮助。提前谢谢。

请建议我如何在一项或多项活动中分享回复

抱歉我的英语不好......

2 个答案:

答案 0 :(得分:1)

这是一个异步请求,凌空在后台线程中处理请求并在onResponse()中传递响应

如果您正在寻找同步响应try this

答案 1 :(得分:0)

尝试将res声明为全局变量。没有返回值。因为您不知道,请求何时完成。并使用此全局变量。