我有一个普遍的问题,我已经遇到了几次。 当我们使用Surfaceview或GLsurfaceview建立一个视图时,我们可以得到以下类(在使用opengl的情况下):Android设计 - GLsurfaceview渲染类触发新活动
主活动类 - 具有渲染和GLsurfaceview。 GLsurfaceview类 - 将被设置为具有渲染类。 渲染类 - 将渲染绘制。
我的问题是,如果我们有一个事件发生在渲染类中,并且我们想要调用一个新的活动,我们该怎么做?
我总是通过将Main活动类传递给渲染类来解决它,然后如果我需要在主活动中发生的事情,我使用null调用MainActivity.Equels,并在那里实现我所需要的。 有没有更好或更优雅的做法呢?即使设计明智? 谢谢。
我会采取观察员的方法。您可以将观察者传递给渲染器,并使用它与现在使用MainActivity几乎相同。但设计明智我觉得这更直观。 – harism 2012-02-03 14:38:12