Volley onResponse android无法正常工作

时间:2017-07-30 20:08:00

标签: java android android-volley jsonresponse

MainActivity:

RequestQueue requestQueue;
String url = "http://andriodtest.eb2a.com/show.php";
TextView textView;
ListView listView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textView = (TextView) findViewById(R.id.TextView);

requestQueue = Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_LONG).show();

                try {
                    JSONArray jsonArray = response.getJSONArray("users");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject respons = jsonArray.getJSONObject(i);
                        String id = respons.getString("id");
                        String info = respons.getString("name");
                        textView.append(id);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }

        }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("VOLLEY", "ERROR");
    }
}

);
requestQueue.add(jsonObjectRequest);

运行app时没有数据被调用 文件配置100%工作。

example

如果设置Textview =&#34; text&#34;不行。

我认为问题是onResponse上的公共无效。 请帮帮我重要

1 个答案:

答案 0 :(得分:0)

你的代码看起来很好,但看起来你的服务器的响应没有返回一个json对象,而是一个用于设置cookie的javascript文件(你可以尝试用Postman点击你的url来查看我提到的javascript响应)

Volley希望收到json回复,这可能是您的应用目前无法按预期运行的原因。

我可能会尝试更改服务器响应的方式。以下链接提供了一些建议以解决该问题: Why I can't retrieve data from my webserver as json but i can when i test it on localhost