带有自定义图标的Android ListView

时间:2012-08-15 13:49:45

标签: java android listview icons

我需要在listview(或合适的替代方案)中显示一个选项列表,从json提要中检索。我有这个工作。我还能够使用dhuckabys prime image loader(https://github.com/DHuckaby/Prime)从json处理图像网址到drawable。

我可以通过创建一个字符串数组并将其传递到适配器来显示文本列表,我只是无法想出一种在列表中显示我的drawable的方法。我发现的所有示例都显示了如何使用drawables文件夹中的图标。

理想情况下,我想通过我的json进行交互,处理图片网址并添加drawable和标题,以便它可以显示在列表中。

我尝试过制作自定义列表适配器但没有成功。

任何帮助或指向相关教程的链接都会有所帮助。我只能找到使用本地drawables的教程。

感谢。

3 个答案:

答案 0 :(得分:1)

首先创建一个自定义xml来扩充listView。在这个xml中添加一个imageview。在获得图像的URL后,您可以执行类似这样的操作

  ImageView image = (ImageView) v.findViewById(R.id.avatar);

   image.setImageBitmap(getBitmap(image_url));

  public Bitmap getBitmap(String bitmapUrl) 
           {
               try  
               {
                 URL url = new URL(bitmapUrl);
                 return BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
                }
                catch(Exception ex) {return null;}
}

根据您的需要递归或一次这样做。也很抱歉没有发布完整的代码,但这可以帮助您了解您需要做什么。

答案 1 :(得分:0)

您可以使用此代码从网址获取图片

URL url = new URL(imageUrl);
HttpURLConnection connection  = (HttpURLConnection) url.openConnection();

InputStream is = connection.getInputStream();
Bitmap img = BitmapFactory.decodeStream(is);  

您可以使用位图obj将图像设置为listview 希望这是你需要的

答案 2 :(得分:0)

如果你想异步下载以避免滞后,请看看这个库: https://github.com/nostra13/Android-Universal-Image-Loader