关于Only the original thread that created a view hierarchy can touch its views的解决方案
我表示很头疼,碰到这个问题,丝毫不晓得哪里出了问题。但问题必须得解决,硬着头皮一点一点试,总觉得跟线程有关系,不停的换关键词baidu,google各种搜索,最终,发现问题的所在。
我所做的游戏游戏画面用的是GL绘制,而今天我要添加的mobclix确是一个view控件,而view和控件不是线程安全的,而控制控件的view是主线程(个人理解,获取不大准确,从问题翻译上分析得到),要想控制主线程改变view,必须得以主线程的身份。而如何让主线程知道我要改变它呢,就要用到Handler类了。。
private static Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == 0 || msg.what == 1) { HandlerSetAdVisibility(msg.what); } else if(msg.what == 48 || msg.what == 80) { HandlerSetAdLocation(msg.what); } } };
当需要让主线程view作出改变时,只需调用
mHandler.sendEmptyMessageDelayed(args, 0);
posted on 2010-11-27 08:23 示韦BadSmile 阅读(59490) 评论(1) 编辑 收藏 举报