1

我正在使用 MonoGame 和 Xamarin 的 Mono for Android 制作 Android 游戏。在游戏过程中的某些时刻,我通过将其添加到视图中来添加一个内部活动横幅广告,如下所示:

var adLayout = new ViewGroup.MarginLayoutParams(
    ViewGroup.LayoutParams.FillParent, ViewGroup.LayoutParams.FillParent);
_iaBanner.SetGravity(GravityFlags.NoGravity);
_view.AddView(_iaBanner, adLayout);

此代码在 XNA 更新循环中执行。

一切都很好,广告会显示,但是当它随时被点击时,它会引发以下异常:

CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。

我根本无法控制此广告的输入处理何时发生。我所能做的就是控制何时从 Activity 的视图中添加/删除。

任何想法如何解决这一问题?谢谢。

4

1 回答 1

0

你能用 RunOnUiThread(() => {...Your Code Here...}); 包装那个调用吗?

于 2013-07-16T22:13:44.690 回答