如何从Internet获取图像并在ListView中将其过去?

时间:2015-05-26 08:43:01

标签: android json android-listview android-arrayadapter listadapter

我正在做我的BlogApp。它从Internet获取所有数据。我添加了三个TextView,但是我从JSON获取图像时遇到问题。我尝试过不同的方法,但我仍然不明白这是怎么做到的。这是我的代码的一部分:

                HashMap<String, String> blogPost = new HashMap<String, String>();
                blogPost.put(KEY_TITLE, title);
                blogPost.put(KEY_AUTHOR, author);
                blogPost.put(KEY_TIME, time);

                blogPosts.add(blogPost);
            }

            String[] keys = {KEY_TITLE, KEY_AUTHOR, KEY_TIME};
            int[] ids = {R.id.textView1, R.id.textView2, R.id.textView3};
            SimpleAdapter adapter = new SimpleAdapter(this, blogPosts, R.layout.row_layout,
                    keys, ids);
            setListAdapter(adapter);

        } catch (JSONException e) {
            Log.e(TAG, "Exception caught" + e);
        }
    }
}

我停在这里,不知道接下来该做什么!可能我应该为我的图像添加一个适配器来转换它?

StringEscapeUtils.escapeXml(String)

感谢您的加入!

2 个答案:

答案 0 :(得分:1)

首先从url下载图像,然后将其设置为imageView。

public class LoadImageFromURL extends AsyncTask{  
@Override  
protected Bitmap doInBackground(String... params) {  

try {
URL url = new URL("image-url");  
InputStream is = url.openConnection().getInputStream();  
Bitmap bitMap = BitmapFactory.decodeStream(is);  
return bitMap;  

} catch (MalformedURLException e) {

e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;

}
@Override  
protected void onPostExecute(Bitmap result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
yourImageview.setImageBitmap(result);
}

} 

我希望它会帮助你......!

答案 1 :(得分:1)

Volley Library使这项工作变得非常简单,并且可以处理所有其他相关任务。您可以使用ImageLoader或NetworkImageView。
请点击链接以了解如何实现它:https://developer.android.com/training/volley/request.html