0

从 json 文件解析数组时,图像不会显示。里面的值JSONArray school2 = school.getJSONArray("contains");不显示在屏幕上,我使用的是正确的方法吗?

我正在调试此阶段显示的值:Category_name.add(object.getString("name")); 调试告诉我有必要为数组中的每个元素提供 id。

{
  "status":1,
  "message":"",
  "data":
  {
    "entree":
    {
      "id":32,
      "name":"Cheese Burger",
      "description":"Lorem ipsum d dolore.",
      "image":"http:\/\/198.57.208.46\/~school\/images\/android\/cheese-burger.png",
      "contains":
      [
        {
          "name":"Cheese",
          "image":"http:\/\/198.57.208.46\/~school\/images\/android\/cheese1.png"
        },
        {
          "name":"Tomato",
          "image":"http:\/\/198.57.208.46\/~school\/images\/android\/tomato.png"
        },
        {
          "name":"Bread",
          "image":"http:\/\/198.57.208.46\/~school\/images\/android\/bread.png"
        }
      ],
    "nutritions":
    {
      "Calories":"150",
      "Carbohidrates":"16g"
    }
  }
}





JSONObject json = new JSONObject(str);
JSONObject json2 = new JSONObject(str);
message = json2.getString("message");
status = json2.getString("status");

if (status.equals("1")) {           
  JSONObject data = json.getJSONObject("data");
  JSONObject school = data.getJSONObject("entree");
  txt1.setText(school.getString("name"));
  // txt2.setText(school.getString("name"));
  txt3.setText(school.getString("description"));
  String url1 = school.getString("image");

  imgLoader.DisplayImage(url1, img1);
  JSONArray school2 = school.getJSONArray("contains");


  for (int i = 0; i < school.length(); i++) {
   JSONObject   object = school2.getJSONObject(i);
   \\Category_ID.add(Long.parseLong(object.getString("id")));
   Category_name.add(object.getString("name"));
   Category_image.add(object.getString("image"));
   listview.setAdapter(cla);
  }
}
4

1 回答 1

0

我找不到您为 ImageView 设置图像的位置。

我认为没有显示图像,因为您设置图像的方式失败了。

当您从链接获取图像时:(例如:http ://domain.com/image.jpg )

你应该花些时间来得到它。

请使用AsyncTaskThread来完成。当您从链接下载完成的图像时,您将通知MainThread将更新UI(在这种情况下,将 Image 设置为 ImageView)

P/S:从url获取图片后,可以解析为位图

于 2013-08-16T10:02:47.157 回答