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 ...
最新文章
- libcurl多线程下载开发过程中需要注意的一个问题
- 模板 - 2 - SAT问题
- 年终收藏!吴恩达盘点2020年度AI热门事件
- 重大合同实为旧事 数据港信披被上交所问询
- 72 Zabbix邮件告警
- python 能干嘛-python能干嘛
- 视频场景下,新用户的推荐策略怎么做?
- textContent、innerHTML、innerText、outerText、outerHTML、nodeValue使用场景和区别
- 阿姆斯特朗数_阿姆斯特朗的功能依赖公理 数据库管理系统
- idea module取得是parent的文件路径_React(或使用TS)中样式混乱解决方案 *.module.less...
- Matlab 变量保存csv:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xfb in position 4: illegal multiby
- 基于jsp+servlet图书管理系统之后台用户信息修改操作
- CSS-table样式+
- 新浪微博登录html代码,新浪微博登录仿DiscuzX1.5论坛QQ登录样式 - YangJunwei
- 澳洲计算机设计专业大学排名,澳洲设计专业大学排名TOP5
- 腾讯VS华为:2021“渠道战争”第一枪
- 软件开发测试男友花束,观察这四束花束凭直觉选一束花?测一测别人都在羡慕你的什么?...
- hdu5755 Gambler Bo(高斯消元)
- 模式识别与机器学习(作业5)基于PCA–LDA的人脸识别
- Go语言switch语句