Java 带有url映像的列表视图适配器

Java 带有url映像的列表视图适配器,java,android,android-listview,Java,Android,Android Listview,您好,我有一个列表视图的例子,图像在可绘制文件夹中…但我需要从url获取图像 如何将drawable更改为字符串url以正常工作 对不起,我是android的新手 public class list_view_comments { protected Drawable foto; protected String nombre; protected String cargo; protected long id; public list_view_co

您好,我有一个列表视图的例子,图像在可绘制文件夹中…但我需要从url获取图像 如何将drawable更改为字符串url以正常工作

对不起,我是android的新手

public class list_view_comments {

    protected Drawable foto;
    protected String nombre;
    protected String cargo;
    protected long id;

    public list_view_comments(Drawable foto, String nombre, String cargo) {
        super();
        this.foto = foto;
        this.nombre = nombre;
        this.cargo = cargo;
    }

    public list_view_comments(Drawable foto, String nombre, String cargo, long id) {
        super();
        this.foto = foto;
        this.nombre = nombre;
        this.cargo = cargo;
        this.id = id;
    }

    public Drawable getFoto() {
        return foto;
    }

    public void setFoto(Drawable foto) {
        this.foto = foto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
}

Drawables没有URI。然而,你可以解析它们,这就是你如何做到的:

Uri uri = Uri.parse("android.resource://your.package.here/drawable/image_name");

无法在android视图上直接指定web url。 您必须从url下载图像,将其存储在某个位置,然后在Imageview中使用它

File image = new  File(storedPath);

if(image.exists()){
  Bitmap myBitmap = BitmapFactory.decodeFile(image.getAbsolutePath());
  ImageView myImage = (ImageView) findViewById(R.id.imageview_xyz);
  myImage.setImageBitmap(myBitmap);
}

当使用listview使列表视图滚动平滑时,应异步完成下载。最终输出您需要的目标是像,用户不断滚动列表,图像慢慢出现,当下载完成。为了获得最佳性能(ConvertView、viewHolder等),应该使用android附带的许多其他优化技术指南

我不明白你的问题。这段代码是我的适配器,我有我的aray ListView lista=(ListView)视图。findViewById(R.id.comment\u list\u view);ArrayList arraydir=新的ArrayList();列表\查看\评论列表\查看\评论;列表视图注释=新列表视图注释(getResources().getDrawable(R.drawable.ic_launcher),“Arianna Huffington”,“Presidenta”);添加(列表、视图和评论);列表视图适配器=新列表视图适配器(getActivity(),arraydir);setAdapter(适配器);我在这里没有看到任何适配器。您是否在适配器中使用此类?如果是这样的话,怎么做?这是完全不同的。我需要从url获取图像。。但不要将图像保存在android proyectByteArrayOutputStream baos=//将下载映像获取到ByteArrayOutputStream字节[]b=baos.toByteArray();myBitmap=BitmapFactory.decodeByteArray(b,0,b.length);//直接从存储器中解码