大家好,又见面了,我是全栈君。
好久没遇到这种错误,最初都是因为在新开的线程中更新UI才出错,
后来一直没忘记用handler,也就没用错误,
今天有出现如下错误,代码如下:
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
//省略其他代码 Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
}
});
}
});
报错误Can’t create handler inside thread that has not called Looper.prepare()
第一印象就是去Loop.prepare(),后来发现,其实这还是因为在线程中更新UI导致的,
Toast.makeText(getApplicationContext(), "订单发送失败,请重试", Toast.LENGTH_SHORT).show();
把上面这行代码也通过处理放进handler之后,错误就没有了,虽然很简单,但是如果一味去找handler和Loop的问题,会走弯路。希望有所帮助。
作者:jason0539
微博:http://weibo.com/2553717707
博客:http://blog.csdn.net/jason0539(转载请说明出处)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121366.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...