使用json将图像解析为文本旁边的ListView

时间:2012-11-30 19:50:40

标签: android json android-listview android-asynctask

我正在制作一个应用程序,需要获取新标题并在listView中添加拇指图像,我不知道如何将照片网址传送到图像并放入列表中我制作这是代码:

我可以获取图片网址,但我不知道如何添加到我收到的文本旁边的listView,有什么帮助吗?

    private class theJob extends AsyncTask<String, Void, ArrayList<HashMap<String, String>>>{




    @Override
    protected void onPostExecute(ArrayList<HashMap<String, String>> result) {
        ListAdapter adapter = new SimpleAdapter(MainActivity.this, result, R.layout.list_item,
                   new String[] {TAG_CAT_NAME }, new int[] {R.id.label });
          setListAdapter(adapter);
          Log.d("adapter", "works");

    }

    @Override
    protected ArrayList<HashMap<String, String>> doInBackground(
            String... params) {
        // TODO Auto-generated method stub
        Log.d("Format", params[0]);
        Log.d("URL", params[1]);

        ArrayList<HashMap<String, String>> cat = new ArrayList<HashMap<String,String>>();
        JsonParser jparser = new JsonParser();
        Log.d("url", "to the other class");
        JSONArray jArray = jparser.getJSONfronUrl(params[1]);
           Log.d("json array", "created");
           try{
                for(int i=0 ; i< jArray.length()  ; i++){
                   JSONObject joob = jArray.getJSONObject(i);
                   Log.d("jobj", "done");
                   String title = joob.getString(params[0]);
                   Log.d(TAG_CAT_NAME, "done");
                   cat_id = joob.getString(TAG_CAT_ID);
                   Log.d(TAG_CAT_ID, cat_id); 
                   cat_url.add(i, joob.getString(TAG_CAT_URL)) ;
                   HashMap<String, String> map = new HashMap<String, String>();
                   map.put(params[0], title);

                   cat.add(map);
               }

           }catch(JSONException e){
               e.printStackTrace();
           }
           Log.d("Going to ADAPTER", "working");
           return cat;
    }
}

2 个答案:

答案 0 :(得分:0)

以下是Google example这可以帮助您实现所需目标:)

<强>更新

在这里,您将获得有关list view中延迟加载图片的更多帮助。

答案 1 :(得分:0)

您可以使用SmartImageView,它是Android标准ImageView的直接替代品,它还允许从URL或用户的联系地址簿加载图像。图像被缓存到内存和磁盘以便超快速加载。

https://github.com/loopj/android-smart-image-view