从应用程序堆栈中删除SurfaceView

时间:2012-04-03 04:49:15

标签: android

Hello StackOverflow用户,

我是android的新手并试图开发一个我使用

的游戏

1)重定向的主类(如菜单......新游戏,选项,帮助,退出等)。

2)surfaceview类

3)在画布上处理绘图的线程。

我在主类上添加了一个退出按钮。

然而,在玩游戏之后,即绘制对象并使用它们,当我重定向到我的Main类并尝试退出时;主屏幕消失但视线和线程没有被破坏。

这是主要的课程。

package com.tgm.welcome;

import com.tgm.R;
import com.tgm.main.GThread;
import com.tgm.main.TGMActivity;
import com.tgm.options.OptionsMain;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class Welcome_Act extends Activity {

    ImageView game, exit, options;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome);

        game = (ImageView) findViewById(R.id.newGame);
        options = (ImageView) findViewById(R.id.options);
        exit = (ImageView) findViewById(R.id.exit);


        game.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                gotogame();
            }
        });

        options.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
            goto_opt(); 

            }
        });


        exit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                exit_game();
            }
        });
    }



    public void gotogame() {
        Intent game = new Intent(Welcome_Act.this, TGMActivity.class);
        startActivity(game);
    }

    public void goto_opt() {
        Intent opt = new Intent(Welcome_Act.this, OptionsMain.class);
        startActivity(opt);
    }

    public void exit_game() {

        System.exit(0);
    }

}

请帮助从安全区域中取出GAMESCREEN。

谢谢..

2 个答案:

答案 0 :(得分:1)

在android中不建议使用System.exit(0)。它并不保证完成活动。

而不是

public void exit_game() {
    System.exit(0);
}

使用:

public void exit_game() {    
    Welcome_Act.finish();
}

答案 1 :(得分:0)

只需要对要从堆栈中删除的活动调用完成 ..它可以完成您想要的工作..