首页 > 其他 > 详细

This message is already in use.的解决办法

时间:2014-11-07 02:20:05      阅读:292      评论:0      收藏:0      [点我收藏+]

This?message?is?already?in?use.的解决方法

?

在开发项目的时候遇到报错This?message?is?already?in?use.然后我看了下是和handler发送Message相关的,于是我就在网上找解决办法。其实意思就是说,这个消息已经在消息队列了,而且正被使用,而如果往同一个队列发送相同的西哦奥西对象就会报错。

这样,解决就很简单了,我们只需要判断这个消息是否在队列中有了,有了我们new一个一模一样的消息对象,然后发出去,这样就不会报错了。

?

下面贴出我之前的代码和修改后的代码:

?

报错的:

public void onMessage(Message msg) {
		handler.sendMessage(msg);
	}

?修改后的:


public void onMessage(Message msg) {
		if(handler.obtainMessage(msg.what, msg.obj) != null){
			Message _msg = new Message();
			_msg.what = msg.what;
			_msg.obj= msg.obj;
			msg = _msg;
//			return;
		}
		handler.sendMessage(msg);
	}

?

这样问题就解决了,当然效果怎么样我这里没测试,希望对大家有帮助。

This message is already in use.的解决办法

原文:http://zhonglunshun.iteye.com/blog/2153032

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!