Toast.makeText 方法出错 java.lang.RuntimeException
2013-11-06 17:28
429 查看
接手以前同事留下的代码,今天突然出现了一个bug:
而出错的代码就是一个Toast.makeText()方法。
这个方法很常见,但是报错的不多,前两天有过类似的经验,所以很快找到原因:Android中不允许其他线程更新主线程的视图。
修改很简单,创建一个handler,用来处理消息,然后把原来的处理代码放到handler中,调用的时候发送一个消息过去就可以了。
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
而出错的代码就是一个Toast.makeText()方法。
这个方法很常见,但是报错的不多,前两天有过类似的经验,所以很快找到原因:Android中不允许其他线程更新主线程的视图。
修改很简单,创建一个handler,用来处理消息,然后把原来的处理代码放到handler中,调用的时候发送一个消息过去就可以了。
final Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == -1){ Toast.makeText(SetActivity.this, "无法连接网络,登录失败", Toast.LENGTH_LONG).show(); } } };
Message msg = new Message(); msg.what = -1; handler.sendMessage(msg);
相关文章推荐
- java.lang.RuntimeException: ImageLoader must be init with configuration before using的解决方法
- GWT 初始化服务器引擎报错 java.lang.RuntimeException: Unable to restore the previous TimeZone 解决方法
- java.lang.RuntimeException: java.lang.ClassNotFoundException: cmd.CmdWordCount$MyMapper解决方法
- MapReduce错误之Error: java.lang.RuntimeException: java.lang.NoSuchMethodException的解决方法
- MapReduce错误之Error: java.lang.RuntimeException: java.lang.NoSuchMethodException的解决方法
- struts2做项目报错:java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 的解决方法
- apk运行出错 Error: java.lang.RuntimeException: Binary XML file line #
- java中,进行Json转换时出错:java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeE
- android studio使用fragment标签出错:E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException:
- resin WED服务器初用遇到的问题和解决方法 java.lang.RuntimeException: java.net.SocketException: Unrecognized Windows Socke ts error: 0: JVM_Bind
- JFinal提示:java.lang.RuntimeException: dao 只允许调用查询方法
- android Toast提示异常:java.lang.RuntimeException: Can't create handler inside thread that has not called
- jsp异常:org.apache.jasper.JasperException: java.lang.ClassCastException三种解决方法
- 兔子--Android java.lang.RuntimeException:Parcelable encountered IOException writing serializable objec
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决
- java.lang.RuntimeException Unable to instantiate application Caused by: java
- AndroidRuntime(21900): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
- java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap解决方法
- Android java.lang.RuntimeException: Parcelable encountered IOException writing serializable object 解
- java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap解决方法