2011-12-20 111 views
0

我有一个运行在GLSurfaceView中的游戏循环。只要某个列表返回.isEmpty(),循环就知道停止运行。改变布尔值非常简单,但我希望能够在另一个视图中的按钮上设置文本(这是我的播放/暂停按钮,它需要返回到“播放”状态,否则用户将无法区分)。不幸的是我得到一个错误的线程异常调用。有什么方法可以超越这个吗?我想也许会得到检查布尔值的活动,但我不知道该怎么做。影响其他视图的视图

下面是一些一些代码,我到目前为止

if(mobDat.isEmpty()){ 
     MyLaunchActivity.stopPlaying(); 
    }else{ /*RenderStuff as Normal*/ } 

stopPlaying()方法

public static void stopPlaying(){ 
    play.RemoveMobDat(); 
    //playbutton.setText("Play"); 
    playing = false; 
} 

的代码只有当我删除或注释调用setText()

回答

0
+0

将调用'startActivity(bob);'重新启动活动。我这么做是必不可少的? – Jack 2011-12-20 22:33:01

+0

不,我认为关键是1)将“捆绑”传递给每个活动,然后2)使用“意图”在活动之间发出信号 – paulsm4 2011-12-20 22:37:20

+0

对不起,以前我没有说清楚,但只有一个活动和一个线程(消息需要从线程到活动)在这个应用程序中。如果这仍然有效? – Jack 2011-12-20 22:41:12