綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] json抓取item.put listview的問題

[複製連結] 查看: 1565|回覆: 2|好評: 0
跳轉到指定樓層
樓主
wind8894 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-2-24 17:32

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
為什麼只有size的json抓不到呢? 我想要folder不顯示size 因為沒有json可以抓,然後file的話,就顯示他的size,如圖片這樣

但加了item.put("size", json3); 之後會導致listview全部清空 丟不進去


json格式:
  1. String Result="{"code":200,"body":{"path":"\/","ls":[{"name":"pic","type":"folder"},
  2. {"name":"testpicc.JPG","type":"file","size":16043,"ctime":1356876932,"mtime":1356876932}]}}"
複製代碼
這邊是我寫的程式碼:
  1. JSONObject jsonObject = new JSONObject(Result).getJSONObject("body");
  2. JSONArray jsonArray = jsonObject.getJSONArray("ls");

  3. String[] json = new String[jsonArray.length()];
  4. String[] json2 = new String[jsonArray.length()];
  5. String[] json3 = new String[jsonArray.length()];

  6. for(int i=0;i<jsonArray.length();i++)
  7. {
  8.       Map<String, Object> item = new HashMap<String, Object>();
  9.       JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);            
  10.       json[i] = jsonObject2.getString("name");  
  11.       json2[i] = jsonObject2.getString("type");
  12.       json3[i] = jsonObject2.getString("size");
  13.                    
  14.                     item.put("name", json[i]);
  15.                     item.put("type", json2[i]);
  16.                     item.put("size", json3[i]);
  17. }
  18. simpleAdapter = new SimpleAdapter(this,items, R.layout.list_content, new String[]{"name","image","size"},new int[]{R.id.user_id, R.id.user_pic, R.id.user_size});
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2013-2-25 10:27
你的寫法我看不太出來,要不要試一下我的方式看看?

  1. for(int i=0;i<jsonArray.length();i++){
  2.     Map<String, Object> item = new HashMap<String, Object>();
  3.     JSONObject jsonObject2 = jsonArray.getJSONObject(i);
  4.     item.put("name", jsonObject2.getString("name"));
  5.     item.put("type", jsonObject2.getString("type"));
  6.     item.put("size", jsonObject2.getString("size"));
  7. }
複製代碼
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| wind8894 | 收聽TA | 只看該作者
發表於 2013-2-28 17:38
你的寫法好像跟我差不多,但還是抓不到size這個值,因為我這邊當"type":"folder"時,是沒size這個值的,只有"type":"file"才有size這個值,所以會造成listview在擺放時,抓不到完整,會變成空指標,listview會整個空白,沒東西
  1. String Result="{"code":200,"body":{"path":"\/","ls":[{"name":"pic","type":"folder"},
  2. {"name":"testpicc.JPG","type":"file","size":16043,"ctime":1356876932,"mtime":1356876932}]}}"
複製代碼
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則