(Android学习)ImageView设置异步加载的网络图片
来源:互联网 发布:淘宝卖家新手入门教程 编辑:程序博客网 时间:2024/05/17 06:51
只有在创建了View树的原始线程(一般为主线程)中才能操作树中的view。
AsyncTask的解决:
新建类, extends AsyncTask<String,Void, Bitmap>
// AsyncTask实现类中对ImageView的弱引用
private final WeakReference<ImageView> imageViewReference;
//构造方法中实例化WeakReference对象
imageViewReference = new WeakReference<ImageView>(imageView);
//通过弱引用对构造方法中传入的ImageView实例进行操作
@Override
protected void onPostExecute(Bitmap bitmap) {
if (imageViewReference != null && bitmap != null) {
final ImageView imageView = imageViewReference.get();
if (imageView != null) {
imageView.setImageBitmap(bitmap);
}
}
}
2、 Handler解决:
*实例化一个Handler对象:
Handler handler = new Handler() {
super.handleMessage(msg);
if(msg.what == SUCCESS) { //SUCCESS为int常量,值为0
imageView.setImageBitmap((Bitmap)msg.obj);
}
};
*子线程中发送message:
run() {
Bitmap bitmap = getImageFromNet(url); // 得到bitmap实例
Message msg = new Message();
msg.what = SUCCESS; // SUCCESS为int常量,值为0
msg.obj = bitmap;
handler.sendMessage(msg);
}
- (Android学习)ImageView设置异步加载的网络图片
- Android 异步加载网络图片到ImageView (Hnadler)
- Android学习笔记(十八):ImageView设置网络图片
- android异步的网络图片加载,支持多线程异步加载
- Android中网络图片的异步加载
- Android异步网络加载图片的控件
- android异步加载网络图片(1)
- Android 图片异步加载 加载网络图片
- Android异步加载网络图片
- Android 异步加载网络图片
- Android网络图片异步加载
- Android异步加载网络图片
- Android异步加载网络图片
- Android异步加载网络图片
- Android异步加载网络图片
- android异步加载网络图片
- 【Android】异步加载网络图片
- 【Android】异步加载网络图片!!!!
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- CentOS Linux 添加用户useradd与删除用户userdel
- 获取浏览器类型及版本号
- 设计模式C++学习笔记之八(Adapter适配器模式)
- ppp和DHCP的区别
- (Android学习)ImageView设置异步加载的网络图片
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- JavaEE事务
- bzoj 1303 中位数
- 避免Activity启动时某个控件马上获取焦点(如EditText/Gallery等)
- Flex 跨域访问解决方案
- usb camera 成功
- JNI由浅入深_8_JNI缓存字段和方法ID
- c#建立验证码图片