关闭

studio 异常Can't create handler inside thread that has not called Looper.prepare()

标签: androidandroid studio
81人阅读 评论(0) 收藏 举报
分类:
错误信息:在Android开发中,如果在一个Thread中启动了一个ProgressDialog用来提示正在连接(也就是防假死),然后在Handler中dismiss()这个ProgressDialog,程序就直接挂掉,异常信息是:Can't create handler inside thread that has not called Looper.prepare()

原因分析:本人遇到的情况是在程序刚开始时候调用ProgressDialog提示正在连接(防假死调用),后边在连接成功后dismiss()这个ProgressDialog,如果有错误信息(比如连接失败呀什么的)则在线程中调用Toast提示,然后当程序运行到Toast的地方的时候程序就直接挂掉了

解决方法:在调用Toast(或者AlertDialog)的地方的前面加上Looper.prepare(),后边加上Looper.loop()即可解决问题;也就是说用Looper.prepare()和Looper.loop()把Toast前后包起来。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5981次
    • 积分:223
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章分类