android之Can’t create handler inside thread that has not called Looper.prepare()

好久没遇到这种错误,最初都是因为在新开的线程中更新UI才出错,后来一直没忘记用handler,也就没用错误,今天有出现如下错误,代码如下:send.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-genera

大家好,又见面了,我是全栈君。

好久没遇到这种错误,最初都是因为在新开的线程中更新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(转载请说明出处)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121366.html原文链接:https://javaforall.net

(2)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号