我正在开发一个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);