0

我制作了一个故事情节,它会自动加载第二个活动,当我按下跳过按钮时,它会跳转到正确的活动。然后,突然,它回到故事情节并继续故事情节活动直到故事结束。这是我的代码,请修改或检查。非常感谢。

public class pgone extends Activity {

    private long splashDelay = 4000; 


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pgone);

        TimerTask task = new TimerTask()
        {

            public void run() {

                Intent mainIntent = new Intent().setClass(pgone.this, pgtwo.class);
                startActivity(mainIntent);
                finish();
            }

        };

        Timer timer = new Timer();
        timer.schedule(task, splashDelay);

Button skipButton = (Button)findViewById(R.id.skip);
skipButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Intent skipIntent = new Intent(pgone.this,gamelevel.class);
        startActivity(skipIntent);
        finish();


    }
});
    }
@override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            moveTaskToBack(true);
            finish();
            return true; // return
        }

        return false;
}
}
4

1 回答 1

1

调用新活动后,您还没有停止计时器。TimerTask 是后台进程,所以它一直在后台运行,你必须取消它。

尝试在您的跳过按钮侦听器中使用此方法。

Timer timer = new Timer();
timer.schedule(task, splashDelay);

Button skipButton = (Button)findViewById(R.id.skip);
skipButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Intent skipIntent = new Intent(pgone.this,gamelevel.class);
        startActivity(skipIntent);
        finish();
        timer.cancel();
        timer.purge();
    }
});
于 2012-07-21T04:31:18.900 回答