关于Only the original thread that created a view hierarchy can touch its views的解决方案

转自:http://www.cnblogs.com/king_dy/archive/2010/11/27/1889444.html

        我表示很头疼,碰到这个问题,丝毫不晓得哪里出了问题。但问题必须得解决,硬着头皮一点一点试,总觉得跟线程有关系,不停的换关键词baidu,google各种搜索,最终,发现问题的所在。

        我所做的游戏游戏画面用的是GL绘制,而今天我要添加的mobclix确是一个view控件,而view和控件不是线程安全的,而控制控件的view是主线程(个人理解,获取不大准确,从问题翻译上分析得到),要想控制主线程改变view,必须得以主线程的身份。而如何让主线程知道我要改变它呢,就要用到Handler类了。。

	private static Handler mHandler = new Handler(){ 
	    public void handleMessage(Message msg)
	    {
	        if(msg.what == 0)
	        {
	            layout.setVisibility(View.GONE);
	        }
	        else if(msg.what == 1)
	        {
	            layout.setVisibility(View.VISIBLE);
	        }
	    }
	};

当需要让主线程view作出改变时,只需调用

mHandler.sendEmptyMessageDelayed(args, 0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值