您的位置:首页 > 其它

为什么子线程不能更新Toas

2016-03-01 21:49 183 查看
代码: new Thread() {

public void run() {

try {

Toast.makeText(context, checkBean.getMsg(), 1).show();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

};

}.start();

异常:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

原因:Toast中用到了Handler,而子线程中并没有初始化Looper,就不能调用Handler的当前的Looper对象了。

解决办法: Looper.prepare();

Toast.makeText(context, checkBean.getMsg(), 1).show();

Looper.loop();

探究:Handler与Looper之间的关系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: