5

私は初心者のAndroidプログラマーですが、問題があるようです。新しいアクティビティを開きます。

Intent newGameIntent = new Intent(actionName);
startActivity(newGameIntent);

すべてが正常に機能し、アクティビティが開きます。しかし、finish()を呼び出すと、前のアクティビティには移動せず、アプリを閉じるだけです(エラーやその他のログメッセージはありません)

なぜそれが起こっているのか誰かが知っていますか?御時間ありがとうございます!

リクエストに応じて、ここに(私が完全に台無しにしたかもしれないものの)コードの詳細があります:最初のアクティビティ:

@Override
protected void onStop() {
    super.onStop(); 
    SplashScreen.sounds.releasSounds();
    finish();
}
@Override
protected void onPause() {
    super.onPause();
    pauseActivity();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    gameLoop.resumeThread();
    SplashScreen.sounds.resumeSounds();
}

private void pauseActivity() {
    gameLoop.pauseThread();
    SplashScreen.sounds.pauseBck();
}

そして最初のアクティビティが秒のアクティビティを呼び出します

Intent newGameIntent = new Intent("com.YuvalApps.menus.NEWGAMEMENU");
    startActivity(newGameIntent);

そして秒の活動のために

    @Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    finish();

}
4

2 に答える 2

3

1つのアクティビティがバックグラウンドにあるとき、Androidシステムは「onStop」メソッドを呼び出しますが、メソッド「onStop」でメソッド「finish」を呼び出すので、別のアクティビティにジャンプすると、「onStop」によって前のアクティビティが破棄されます。「onStop」メソッドの「finish」を削除する必要があります。

于 2012-12-05T17:04:08.540 に答える
-1

現在のアクティビティを閉じて前のアクティビティに戻るために finish() を呼び出す場合は、finish() の代わりに onBackPressed() を呼び出すだけです。前のアクティビティに戻ります。

于 2012-12-05T16:28:25.460 に答える