Android设计-GLsurfaceview渲染类触发新活动
我有一个一般性的问题,我已经遇到过好几次了。 当我们使用Surfaceview或GLsurfaceview构建视图时,我们将拥有以下类(对于opengl): 主活动类-将具有render和GLsurfaceview。 GLSURFACHEVIEW类-将设置为具有渲染类。 Render类-将渲染绘图的 我的问题是,如果我们在render类中发生了一个事件,并且我们想调用一个新的活动,我们该怎么办 我总是通过将主活动类向下传递给呈现类来解决它,然后如果我需要在主活动中发生什么事情,我就调用MainActivity.equals和null,在那里我实现我所需要的。 有没有更好或更优雅的方法?甚至是设计方面?Android设计-GLsurfaceview渲染类触发新活动,android,Android,我有一个一般性的问题,我已经遇到过好几次了。 当我们使用Surfaceview或GLsurfaceview构建视图时,我们将拥有以下类(对于opengl): 主活动类-将具有render和GLsurfaceview。 GLSURFACHEVIEW类-将设置为具有渲染类。 Render类-将渲染绘图的 我的问题是,如果我们在render类中发生了一个事件,并且我们想调用一个新的活动,我们该怎么办 我总是通过将主活动类向下传递给呈现类来解决它,然后如果我需要在主活动中发生什么事情,我就调用MainA
谢谢。由于视图始终驻留在活动中,请使用您可以在活动中设置的观察者模式(在java语言中通常称为“侦听器”)(使用与其他视图相同的方法,如button.setOnClickListener) 当然,如果您的视图有多个线程在运行,那么您应该使用一个处理程序来传递事件,以便它们只在ui线程上运行
因此,简而言之,解决方案是扩展GLsurfaceview并为其添加侦听器函数 我会采取观察者的方式。您可以将一个观察者传递给渲染器,并以与当前使用MainActivity几乎相同的方式使用它。但就设计而言,我觉得这更直观。