上图是工具类
然后在需要提示用户的地方调用方法进行提示 却在箭头指向的那一行 报错CalledFromWrongThreadException
下图是当时的log
log显示是在主线程 这就很奇怪了..这是为什么?
从错误信息不难看出Android禁止其他子线程来更新由UI thread创建的试图。这显示违反了单线程模型的原则:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。
再检查检查代码逻辑。
问题应该就是在子线程中去更新UI了,但是你给的图说显示是主线程,好像不是的,你打印当前现成名称是thread name = :??。但图中并没有这个log,你看到的估计main都是其他地方打印的。
如过保证都是在主线程的话,我怀疑你的项目里面是不是有多个进程,makeText的时候在一个进程调了,setText又在另一个进程调的。
同时也检测一下你的makeText传的context是不是对应进程的Context对象
不要缓存 Toast 这样不安全