Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
在报错的方法前加Looper.prepare();
方法末尾加Looper.loop();
在报错的方法前加Looper.prepare();
方法末尾加Looper.loop();
在async里面调用toast时候 会报错 toast前后加就可以解决
但是问题来了 loop是一个循环 如果是你要在toast后面还要执行 这种方式就不可行
你需要这样
public void toast(final String s)
{
Handler handler=new Handler(Looper.getMainLooper());
handler.post(
new Runnable() {
@Override
public void run() {
Toast.makeText(context,s,Toast.LENGTH_SHORT).show();
}
}
);
使用handler发送一个消息 然后在async中调用 toast(str); 就可以解决了