Android 自定义的handler handleMessage方法不调用
自己写的一个类继承自handler。
想的是从服务器读一张图片,然后用Bitmap存一下,通过handler传给主线程来显示图片
private static class LoadHandler extends Handler {WeakReference reference;public static final int LOAD_PIC = 1;public LoadHandler(WeakReference<articleDetail> reference) {this.reference = reference;}@Overridepublic void handleMessage(@NonNull Message msg) {//方法没有调用articleDetail ad = (articleDetail) reference.get();switch (msg.what) {case LOAD_PIC:ad.down_bitmap = (Bitmap) msg.obj;Log.d("loadPIC","load over");break;}}}
在activity中声明变量 这个activity运行在主线程中·
这一个activity是从上一个activity跳转过来的
public class articleDetail extends AppCompatActivity {private TextView author, time;private ImageButton back;private CircledownloadProgressBar bar;private HyperTextView rtext_view;private Bitmap down_bitmap;private Article article;private LoadHandler mhandler = new LoadHandler(new WeakReference<>(articleDetail.this));
发送Message是在从网上下载图片的一个方法里
private void Down_pic(String path) {new Thread(new Runnable() {@Overridepublic void run() {OkHttpClient okHttpClient = new OkHttpClient();RequestBody body = new FormBody.Builder().add("type", ServiceType.down_pic).add("path", path).build();Request request = new Request.Builder().url(getString(R.string.down_fileAdress)).post(body).build();okHttpClient.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(@NonNull Call call, @NonNull IOException e) {}@Overridepublic void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {InputStream inputStream = response.body().byteStream();Bitmap bitmap = BitmapFactory.decodeStream(inputStream);Message msg = Message.obtain();msg.obj = bitmap;msg.what = LoadHandler.LOAD_PIC;Boolean is = mhandler.sendMessage(msg);Log.d("sendMsg", is.toString());}});}}).start();}
handleMessage方法不执行
sendMessage返回的值是true
打断点debug也进不去handleMessage方法
求大佬帮忙看看 非常感谢!!
Android 自定义的handler handleMessage方法不调用相关推荐
- android自定义view案例,Android自定义View的实现方法实例详解
一.自绘控件 下面我们准备来自定义一个计数器View,这个View可以响应用户的点击事件,并自动记录一共点击了多少次.新建一个CounterView继承自View,代码如下所示: 可以看到,首先我们在 ...
- 织梦 PHP 字段 调用,织梦dede网站内容模型普通文章调用自定义图片字段的方法(和调用...
织梦DedeCMS网站内容模型普通文章调用自定义图片字段的方法: 我们首先需要创建一个自定义函数, 找到:/include/extend.func.php ,在 function GetOneImgU ...
- Handler post中run()方法与handleMessage()方法的调用原理
在使用Handler时可能遇到一些疑问,handler.post(Runnable r)中的run()方法与handleMessage()的调用 Handler.post(new Runnable() ...
- Android自定义View的实现方法,带你一步步深入了解View(四)
不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识 ...
- Android自定义View的实现方法,带你一步步深入了解View
如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件.组合控件.以及继承控件.那么下面我们就来依次学习一下,每种方式分别是如何自定义View的. 一.自绘控件 自绘控件的意思就 ...
- android自定义view的实现方法,Android自定义View的实现方法
一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了. 如果说要按类型来划分的话,自定义Vi ...
- Android 自定义view 的onFinishInflate方法的用法
Android onFinishInflate 加载完成的意思,意思是: 在 setContentView 之后会调用此方法, 或者 比如自己写的 自定义View :MyView mv = (MyVi ...
- android computescroll_Android Scroller与computeScroll方法的调用关系
Android ViewGroup中的Scroller与computeScroll的有什么关系? 答:没有直接的关系 知道了答案,是不是意味着下文就没必要看了,如果说对ViewGroup自定义控件不感 ...
- Android获取设备序列号的方法与调用方式
记录一下安卓获取设备序列号的方法,以及调用方式 方法: /*** * 使用反射调用系统隐藏方法get(),获取系统相关属性配置* @param key 属性名称* @return*/ static S ...
最新文章
- Solaris下ftp配置(初稿-待补充)
- php面试常问的问题
- 中石油训练赛 - 围栏翻新(思维+贪心+差分)
- java 字符串实例_Java字符串实例
- 百度php笔试题目,12/11/17 百度PHP笔试题目整理
- 从零开始编写自己的C#框架(23)——上传组件使用说明
- mac下的secureCRT.8的设置
- 【华为云技术分享】当我们在谈论卡片时,我们到底在谈论什么?
- 晶圆产能紧缺,成就华为的“无厂模式”反成败笔
- 被 YYUC $is_developing 害惨了.
- php计算ip掩码,php进行ip地址掩码运算处理的方法
- 入手评测 i7 1255u和i5 1235U选哪个好
- 英语3500词(十一)entertainment主题(2022.1.23)
- 求函数最值(模拟退火算法C++实现)
- pytoch 安装为Gpu版本
- 树莓派 cpolar免费vip穿透局域网异地连接(ssh web均可)
- Pandas入门基本知识点
- stm8 IAR 编译错误atal Error[Pe035]: #error directive: quot;Please select first the target STM8L device
- keyshot怎么贴logo_如何使用KeyShot添加有织纹的Logo
- 【黄啊码】php函数大全,新手必备神器