myq_26 2012-09-26 01:46 采纳率: 16.7%
浏览 2980
已采纳

如何变换Android中的Activity?

我在做一个小游戏程序,有3个activity。第一个activity是主菜单 (FirstActivity class)。代码如下:

Intent i = new Intent(this, SecondActivity.class);  
startActivityForResult(i, ACTIVITY_CREATE);

当执行第二个activity。代码如下:

setContentView(new MovementView(this));

MovementView 类继承SurfaceView. 在MovementView 类中写了所有的游戏代码。

我想实现当lives == 0, 就执行第三个activity. 如何实现啊?
我尝试着把代码写成类似第一个 FirstActivity类,但是程序就不能运行。如果我用下面这个方法:

((Activity)getContext()).finish();

又会跳回第一个Activity, 这个不是我要实现的,我想跳到第三个activity。
请大师帮忙,不胜感激。

  • 写回答

3条回答

  • Curie-87 2012-09-26 02:30
    关注

    FirstActivity class:

    private void startGame() {
            Intent i = new Intent(this, SecondActivity.class);
            startActivity(i);
        }
    

    SecondActivity class:

    protected void onCreate(Bundle savedInstanceState) {
    setContentView(new MovementView(this));
    }        
        @Override
        protected void onDestroy() {
            Intent i = new Intent(this, GameOver/*GameOver=ThirdActivity*/.class);
            startActivity(i);
            super.onDestroy(); 
        }
    

    MovementView class:

    if (lives == 0){            
    updateThread.setRunning(false);
    ((Activity)getContext()).finish();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器