我有以下回复,并且我希望在invidual eqid
中显示所有TextView
,但我不知道如何实现这一点,
下面是我的代码片段以及从服务器获取数据并在textview中显示的响应
任何人都可以帮我这个吗?
{
"earthquakes":[
{
"eqid":"c0001xgp",
},
{
"eqid":"c000905e",
},
{
"eqid":"2007hear",
},
{
"eqid":"c00090da",
},
{
"eqid":"2007aqbk",
},
{
"eqid":"2007hec6",
},
{
"eqid":"a00043nx",
},
{
"eqid":"2010utc5",
},
]
}
代码
ServiceHandler sh = new ServiceHandler();
jsonStr = sh.makeServiceCall(USER_URL, ServiceHandler.GET);
Log.d("Response: ", "> " + jsonStr);
try{
JSONObject json = new JSONObject(jsonStr);
JSONArray items = json.getJSONArray("product");
parent_layout = (RelativeLayout)findViewById(R.id.rl);
for(int i =0; i<items.length(); i++){
TextView textView = new TextView(this);
textView.setText(items.getJSONObject(i).getString(USER_NAME));
parent_layout.addView(textView);
}
答案 0 :(得分:1)
您有一个包含Single JSON数组的JSON对象。因此,您首先从对象中检索数组,然后您可以循环它以检索所有项目。在下面的代码中,我假设您在数组中有目标TextView
个对象。
try{
JSONObject json = new JSONObject(jsonstr);
JSONArray items = json.getJSONArray("earthquakes");
for(int i =0; i<items.length(); i++){
textViews[i].setText(items.getJSONObject(i).getString('eqid'));
}
}catch(JSONException e){
e.printStacktrace();
}
答案 1 :(得分:1)
try{
JSONObject json = new JSONObject(jsonstr);
JSONArray items = json.getJSONArray("earthquakes");
for(int i =0; i<items.length(); i++){
TextView t=new TextView(context);
t.setText(items.getJSONObject(i).getString('eqid'));
ParentLayout.addView(t);
}
}catch(JSONException e){
e.printStacktrace();
}
&#13;