この画像と同じデータを表示する列にjsonデータを表示したいhttp://imgur.com/v4WpJdN テーブルレイアウトにjsonを表示するこのチュートリアルに従います http://kahdev.wordpress.com/2012/02/19/android -parsing-json-with-jsonobject/ しかし、私のjosnは表示されません。json ファイルを編集して新しい配列 "contact" を作成しますが、画面に表示されません parse "Contact" の json 解析コードを確認してください
public class fifthscreen extends Activity{
HorizontalListView listview;
CategoryListAdapter3 cla;
String DescriptionAPI;
static ArrayList<Long> Category_ID = new ArrayList<Long>();
static ArrayList<String> Category_name = new ArrayList<String>();
static ArrayList<String> Category_image = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fifthscreen);
listview = (HorizontalListView) this.findViewById(R.id.listview2);
cla = new CategoryListAdapter3(fifthscreen.this);
DescriptionAPI = Utils.DescriptionAPI;
// clearData();
try {
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);
HttpConnectionParams.setSoTimeout(client.getParams(),
15000);
HttpUriRequest request = new HttpGet(DescriptionAPI);
HttpResponse response = client.execute(request);
InputStream atomInputStream =
response.getEntity().getContent();
BufferedReader in = new BufferedReader(new
InputStreamReader(atomInputStream));
String line;
String str = "";
while ((line = in.readLine()) != null){
str += line;
}
JSONObject json = new JSONObject(str);
JSONArray data =
json.getJSONArray("worldpopulation");
for (int i = 0; i < data.length(); i++) {
JSONObject object = data.getJSONObject(i);
// JSONObject category =
object.getJSONObject("Category");
Category_ID.add(Long.parseLong(object.getString("rank")));
Category_name.add(object.getString("name"));
Category_image.add(object.getString("url"));
Log.d("Category name", Category_name.get(i));
listview.setAdapter(cla);
////Acess Json array Contacts/////////////////////
JSONObject json2 = new JSONObject(str);
JSONArray data2 =
json.getJSONArray("contacts");
final TableLayout table = (TableLayout)
findViewById(R.id.table);
for (int j = 0; i < data.length(); j++) {
final View row =
createRow(data.getJSONObject(i));
table.addView(row);
}
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
// IOConnect = 1;
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public View createRow(JSONObject item) throws JSONException {
View row = getLayoutInflater().inflate(R.layout.rows, null);
((TextView) row.findViewById(R.id.localTime)).setText(item
.getString("Item"));
((TextView) row.findViewById(R.id.apprentTemp)).setText(item
.getString("Quantity"));
return row;
}
}
//////my son file i add new array "contact"///////////
{
"worldpopulation": [
{
"rank":1,
"name": "Angelina",
"url": "http://www.bounty4u.com/android/images/angie.jpg"
},
{
"rank":2,
"name": "Ashton ",
"url": "http://www.bounty4u.com/android/images/ashton.jpg"
},
{
"rank":3,
"name": "Jackman",
"url": "http://www.bounty4u.com/android/images/hugh.jpg"
}
]
,
"contacts": [
{
"id":1,
"Item": "Calories",
"Quantity": "150g"
},
{
"id":2,
"Item": "Calcium",
"Quantity": "250g"
},
{
"id":3,
"Item": "Carbohydrates",
"Quantity": "300g"
}
]
}
public class CategoryListAdapter3 extends BaseAdapter {
private Activity activity;
private ImageLoader imageLoader;
public CategoryListAdapter3(Activity act) {
this.activity = act;
imageLoader = new ImageLoader(act);
}
public int getCount() {
// TODO Auto-generated method stub
return fifthscreen.Category_ID.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null){
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.viewitem2, null);
holder = new ViewHolder();
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
holder.txtText = (TextView) convertView.findViewById(R.id.title2);
holder.imgThumb = (ImageView) convertView.findViewById(R.id.image2);
holder.txtText.setText(fifthscreen.Category_name.get(position));
//
imageLoader.DisplayImage(Utils.AdminPageURL+CategoryList.Category_image.get(position),
imageLoader.DisplayImage(fifthscreen.Category_image.get(position),
activity, holder.imgThumb);
return convertView;
}
}