我表示很头疼,碰到这个问题,丝毫不晓得哪里出了问题。但问题必须得解决,硬着头皮一点一点试,总觉得跟线程有关系,不停的换关键词baidu,google各种搜索,最终,发现问题的所在。
我所做的游戏游戏画面用的是GL绘制,而今天我要添加的mobclix确是一个view控件,而view和控件不是线程安全的,而控制控件的view是主线程(个人理解,获取不大准确,从问题翻译上分析得到),要想控制主线程改变view,必须得以主线程的身份。而如何让主线程知道我要改变它呢,就要用到Handler类了。。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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作出改变时,只需调用
1
|
mHandler.sendEmptyMessageDelayed(args, 0);
|
分类: android学习