Android Volley:使用for循环从JsonObject中提取数据

时间:2016-12-20 20:26:08

标签: android arrays json for-loop android-volley

我正在开发一个Android项目,它将从服务器获取一个Json数组,然后我想迭代数组并从数组中的每个Json对象中提取数据。当我运行此代码时,textviews不会改变,但是如果我删除for循环及其中的所有内容,然后取消注释for循环下面的两行,事情似乎有效。如何迭代数组中的Json对象,以便在屏幕上更新信息并为数组中的每个对象每秒更改一次?

提前谢谢!

    name = (TextView)findViewById(R.id.nameTxt);
    email = (TextView)findViewById(R.id.emailTxt);
    serverButton = (Button)findViewById(R.id.getInfoBtn);


    serverButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            final JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(server_url,
                    new Response.Listener<JSONArray>() {
                        @Override
                        public void onResponse(JSONArray response) {
                            try {

                                for (int i = 0; i < response.length(); i++) {
                                    JSONObject nameJson = response.getJSONObject(i);
                                    name.setText(nameJson.getString("FirstName") + " " + nameJson.getString("LastName"));
                                    email.setText(nameJson.getString("Email"));
                                    Thread.sleep(1000);
                                }

                                //JSONObject nameJson = response.getJSONObject(1);
                               // name.setText(nameJson.getString("FirstName"));
                            } catch (JSONException e) {
                                e.printStackTrace();
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }
                    }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    name.setText("Something is wrong");
                }
            });

            MySingleton.getInstance(MainActivity.this).addToRequestQueue(jsonArrayRequest);

0 个答案:

没有答案