从gameloop线程开始新的活动

时间:2013-06-23 16:59:45

标签: android multithreading android-activity

我有一个实现Runnable的类,在这个类中实现了我游戏的游戏循环。简而言之,我有一个秒表,我希望在特定时间向用户显示带有选项的消息。在这一点上,用户要么是赢家要么必须再试一次。 我知道我无法在线程中启动新活动。所以,我有以下选择:

  1. 使用Handler和Looper开始我的新活动
  2. 以某种方式杀死主题并开始我的新活动
  3. 停止主题并转到新活动
  4. 还有其他方法吗? 我想知道最好的方法。

    所有评论和回复对我都有帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

我建议使用处理程序。我不喜欢looper类,但我只是在从uiThread创建线程时传递一个Handler对象。然后通过覆盖处理程序中的handlemessage,从线程向处理程序发送消息并执行相应的ui工作。所以我的建议是为处理程序(在ui线程中)使用匿名的内部类,然后将其传递给runnable类。

答案 1 :(得分:0)

  

我知道我无法在线程中开始新的活动。

您可以在UI线程中启动新的Activity

为此,您可以使用runOnUiThread(Runnable action)方法。例如,如果您在Activity,请执行:

runOnUiThread(new Runnable() 
{
    public void run() 
    {
        // start another Activity here
    }
});