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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue的生命周期函数详解[通俗易懂]

    Vue的生命周期函数详解[通俗易懂]Vue有一个完整的生命周期,也就是从开始创建,初始化创建,编译模板,挂载Dom,渲染–>更新–>渲染,销毁等一系列过程,我们称之为Vue的生命周期。通俗的说就是Vue实例从创建到销毁的过程,就是生命周期。每一个组件或者实例都会经历一个完整的生命周期,总共分为三个阶段:初始化,运行中,销毁。beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyed1.实例、组件通过newVu

    2022年10月9日
    0
  • linux下移动文件命令_linux怎么移动文件

    linux下移动文件命令_linux怎么移动文件linux中移动文件在Linux中移动文件看似比较简单,但是可用的选项却比大多数人想象的要多。本文向初学者讲授如何在GUI和命令行中移动文件,同时还解释了幕后实际发生的情况,并介绍了许多经验丰富的用户很少探索的命令行选项。搬什么?在研究移动文件之前,值得仔细研究一下移动文件系统对象时实际发生的情况。创建文件后,会将其分配给一个inode,它是用于数据存储的文件系统中的固定点…

    2022年9月27日
    0
  • ES6中变量let的属性以及在for循环中的使用

    ES6中变量let的属性以及在for循环中的使用

    2022年4月3日
    128
  • 作用域插槽(作用域插槽传值)

    作用域插槽一:假设第一个场景,需要你写一个商品卡片组件,并通过循环去展示多个卡片,并且要求能响应每个卡片上的图片或者其他内容的点击事件而跳转到商品详情页,你会怎么写?我会使用如下的处理方式,首先将商品卡片写成一个组件Commodity.vue,而在CommodityList.vue中用一个v-for来处理商品卡片列表的展示。<commodityv-for=”(item,index)incommodities”@clickCommodity=”onCommodityClick”>&l

    2022年4月13日
    524
  • plugins webpack_webpack plugin原理

    plugins webpack_webpack plugin原理plugin插件是webpack的支柱功能。webpack自身也是构建于你在webpack配置中用到的相同的插件系统之上!插件目的在于解决loader无法实现的其他事。常用的插件

    2022年8月7日
    1
  • 「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」

    「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」代码写得烂,写博客纯属记录!微信公众号:BugLass码云仓库地址:https://gitee.com/ynavc/tourism_sys源代码及文档打包下载:https://download.csdn.net/download/weixin_44893902/12819432目录一、需求简介:业务流程及系统概念模型如下:游客:业务管理员:旅游业务模型:整体概要设计:二、界面示例:首页:点击报名:如果没有登录提示游客登录登录界面:注册界面:..

    2022年4月28日
    49

发表回复

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

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