中易网

Android用handler在线程间传值

答案:1  悬赏:40  
解决时间 2021-04-22 03:25
在新建的线程是MainActivity的内部类的时候,总是可以的传值的,因为主线程和新线程用的是同一个handler对象;但是实际应用中我把Thread写成了一个单独的java文件FirstThread.java,

于是我在FirstHandler.java中用handler.sendMessage(msg);发送消息,想在MainActivity中的handleMessage()方法中得到;并且把FirstThread里的handler赋值给了MainActivity中的handler。

发现是得不到这个msg的,因为MainActivity中的handleMessage方法根本没有执行(原因大概是消息队列没有接收到FirstThread中传递的消息)。

请问有办法在不同文件的线程之间用Handler传递消息吗?
最佳答案
想要让Activity收到消息,就要使用它自己的handler。
你可以在activity中声明一个静态的handler,在onCreat方法中初始化。
然后再其他线程直接调用。
还有就是,你应该把activity的handler赋值给Thread的

不知道为什么百度抽了,没有办法追问,关于你的程序,我试调一下,消息传递没有问题,吧前面的网页访问注释掉直接向Activity发送消息,已经收到,请检查你代码的其他部分
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夫妻一方患有重病另一方能起诉离婚吗法院会判
新的一天谁看过
谁知道卤肉的配方
温州市桥头镇,有没有人开过(圣杰路)或(亚
中国电信(唐家铺营业厅)地址在什么地方,我要
拨皮182了在什么地方练
蜜菓中石化萧山市心路店地址在哪,我要去那里
家用洗衣机海尔小全自动洗衣机
楼板裂缝是不是危房
欧美哪些女歌手的歌曲具有舞曲风格?谢谢了!
披萨饼卖多少钱一个
团藏是不是宇智波斑?
ASP 编程问题——表格里文字分行
有什么方法可以去头油?
什么是三优工程
推荐资讯
我要买个2000元左右的家用跑步机!!!
湖南省邵阳县有哪些快递公司? 就是塘渡口
和可以当自己老爸的男人一起,认识两年了,有
生涯怎么造句?
金蝶财务软件加密狗遗失如何处理
谁知道墙排马桶好还是地排马桶好啊?
求java大神解答几个问题
齐河欧乐堡里面有哪些项目啊?门票多少钱?需
喜庆日租房怎么去啊,有知道地址的么
天柱山中路/C117(路口)我想知道这个在什么地
电脑上网用宽带,为什么这几天下载东西、浏览
8月27日以后北京回沈阳的火车票购买问题。
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?