java.lang.RuntimeException: Only one Looper may be created per thread解决方法

题外话

各位友友们,每次出异常之后不要直接问同事直接去百度,要养成一个良好的习惯,先去自己分析,出这个异常的原因是什么,对照着代码,看打印的日志也好debug一步一步走也好,找到出异常的代码块,分析为什么会出异常,然后自己再进行调试,只有自己动脑思考了,才会成长才能有所收获。

------------------------

首先查看报错信息

Only one Looper may be created per thread:每个线程只能创建一个Looper
在这里插入图片描述
TTToast.java:10:错误发生在TTToast.java的第10行,咱们点过去查看
方法解释:
Looper.prepare():为当前线程提供一个Looper的实例
TToast.show(context, msg):展示消息
Looper.loop():在线程中执行消息队列,让 Looper 开始工作,从消息队列里取消息,处理消息
在这里插入图片描述

分析

每个线程只能创建一个Looper,说明其他地方已经调用了show这个方法,在线程中已经创建了Looper,不能再执行Looper.prepare()这个方法了

解决方法

判断当前线程是否创建了Looper,如果未创建则执行Looper.prepare()
如果已创建,直接执行后续操作即可
在这里插入图片描述

(~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

联系阿超

(可解疑解答,无偿)

阿超QQ:2425991616

阿超微信:2425991616

阿超邮箱:2425991616@qq.com || aboutgaojc@163.com

扫码添加阿超微信

在这里插入图片描述

扫码添加阿超QQ

在这里插入图片描述

欢迎关注阿超的公众号!

在这里插入图片描述

如果这篇文章帮助到了您,这里还可以打赏博主哦~m_m

在这里插入图片描述
在这里插入图片描述


版权声明:本文为Mr_Gaojinchao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。