如何从 GLSurfaceView Android 更新 UI

How to update UI from GLSurfaceView Android

我正在开发一款游戏,但我对如何更新保存分数的 TextView 感到困惑。在我的 Activity 中,我有一个用于乐谱的 TextView 和一个 GLSurfaceView。当用户进入游戏时,我希望能够在相同的 Activity.

中更新 TextView

我试过使用充气器和 Casting 来输入 Activity 以及其他一些方法。我知道这应该是可能的,但我不知道如何实现这一目标。

有点不清楚您遇到问题的原因。您应该能够像在任何其他 Activity 中一样更新 TextView,无论 GLSurfaceView 是否恰好存在。您只需确保从主 UI 线程而不是 GLSurfaceView 渲染器线程发出更新。一种简单的方法是 post 向 UI 线程的 Looper 上的处理程序发送消息。

一个例子是Grafika's "record GL app" Activity。它使用普通的 SurfaceView,而不是 GLSurfaceView,但想法是一样的。渲染器线程定期 post 向主 UI 线程发送当前帧速率的消息,该线程位于 TextView 中。