您的位置:首页 > 移动开发 > Android开发

Android下载图片显示问题

2014-10-19 22:06 330 查看
============问题描述============

我用下面的代码从服务器端下载了图片,运行在新开的线程中


logcat里有输出:  before bm=null   和  after bm = android.graphics.Bitmap@40d20270

然后我就在主线程里给image设置Bitmap


image.setImageBitmap(bm);


downloadBitmap()方法如下:

/*

* 从指定url下载图片

*/

public static Bitmap downlodBitmap(String url) {

URL myFileUrl = null;

Bitmap bitmap = null;

try {

myFileUrl = new URL(url);

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

HttpURLConnection conn = (HttpURLConnection) myFileUrl

.openConnection();

conn.setDoInput(true);

conn.connect();

InputStream is = conn.getInputStream();

bitmap = BitmapFactory.decodeStream(is);

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}



可是image并没有显示出来该bitmap,这是为什么。明明已经显示下载好了,图片在135K,也不大啊。怎么回事,纠结一天了。

============解决方案1============

因为你执行image.setImageBitmap(bm);时图片并没有下载好,你应该在下载好后给主线程发消息,通知主线程显示图片。

============解决方案2============

用handler更新主线程图片,或者用asynctask这个异步下载图片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: