安卓带照片的列表视图

29 浏览
0 Comments

安卓带照片的列表视图

这个问题已经有答案了

可能重复:

Android - 如何在ListView中进行图片的延迟加载

你好,我做了一个带有文本、图片和评分条的ListView。我使用ksoap获取这些信息,已经完成了,而且效果很好!

现在有一个问题,就像我之前提到的一样,ListView里面有一张图片,如果我不删除这张图片,它会变得非常无响应/卡顿,但是如果我删除图片,只剩下textView和ratingbar,它就又变得流畅了。

如何解决在包含图片的情况下卡顿的问题。如果你需要一个示例,我会发布android .apk。我希望有一个解决方案。

下面是我在ListView中使用图片的代码:

String s = strTitle[position];      
System.out.println(s);      
String image_URL = imageURL[position];      
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
Bitmap bm = LoadImage(image_URL, bmOptions);
ivLogo.setImageBitmap(bm);              
return rowView;
private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{
    Bitmap bitmap = null;
    InputStream in = null;       
    try {
        in = OpenHttpConnection(URL);
        bitmap = BitmapFactory.decodeStream(in, null, options);
        in.close();
    } catch (IOException e1) {  }
    return bitmap;               
}
private InputStream OpenHttpConnection(String strURL) throws IOException{
    InputStream inputStream = null;
    URL url = new URL(strURL);
    URLConnection conn = url.openConnection();
    try{
        HttpURLConnection httpConn = (HttpURLConnection)conn;
        httpConn.setRequestMethod("GET");
        httpConn.connect();
        if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) 
        {
            inputStream = httpConn.getInputStream();
        }
    }
    catch (Exception ex){    }
    return inputStream;
}

admin 更改状态以发布 2023年5月22日
0
0 Comments

你需要使用“懒加载”概念。你正在试图在运行时下载图片,这是导致你的列表视图卡顿的原因。

这是一个链接,

ListView中图片的懒加载

你将能够找到一个关于懒加载的巨大讨论,你可以看这个答案,它是最著名的概念。

https://stackoverflow.com/a/3068012/603744

编辑1

你还可以查看无尽适配器(endless Adapter)。这是一个例子,

Android无尽列表

https://github.com/commonsguy/cwac-endless

0