对于我的自定义列表视图,我正在使用AsyncTask进行Web服务调用,它工作正常 . “我的列表”视图具有左侧图像, Headers ,说明 . 该服务将返回(url,title,desc)列表 .
在我的适配器中,我使用以下代码加载图像:
httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
response = httpClient.execute(request);
InputStream is = response.getEntity().getContent();
Drawable drawable = Drawable.createFromStream(is, "src");
imgView.setImageDrawable(drawable);
但是在加载所有图像之前我无法看到列表视图,我知道我阻止了UI线程,任何人都可以建议在没有UI阻塞的情况下执行此操作的最佳方法 .
谢谢,Venkat Papana
4 回答
如上面的答案所述,使用
AsyncTask
或Thread
与Handler
.以下是从URL获取图像资源的快速方法:
创建1
AsyncTask
,并在doInBackground
中循环遍历所有图像URL并将每个生成的drawable添加到图标列表或其他内容你的手柄会是这样的
使用
AsyncTask
进行图像加载 . 对于每个加载的图像,您可以从doInBackground()
调用publishResults()
,然后让onProgressUpdate()
将图像放在正确的位置 .这是更好的尝试方法..这是用于cardview中的图像加载
有任何疑问评论我