0

TimeLine アクティビティを含むいくつかのアクティビティがあります。このアクティビティは、ユーザーがアプリケーションに正常にログインしたときに開始されます。ただし、アプリケーションのテーマを変更するためのメニューがあります。アプリケーションのテーマを変更しようとすると、次回の使用のためにタイムライン アクティビティが終了しません。テーマの色と背景を変更し、変更を保存して、新しいテーマのタイムライン アクティビティに移動します。次に、次のコードを使用してアプリケーションを終了すると

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // Ask the user if they want to quit

        new AlertDialog.Builder(this)
                .setIcon(android.R.drawable.ic_dialog_alert)
                .setTitle("")
                .setMessage("Do you want to exit")
                .setNegativeButton("No", null)
                .setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {
                            // @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                finish();

                                Intent intent = new Intent(
                                        Intent.ACTION_MAIN);
                                intent.addCategory(Intent.CATEGORY_HOME);
                                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                                startActivity(intent);

                            }
                        }).show();
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

しかし、アプリケーションを再度起動すると、テーマが変更される前のタイムライン アクティビティが表示されます。ThemeChange アクティビティから新しい Timeline アクティビティを開始しても、Timetine アクティビティ インスタンスがスタックに保持されると思います。

活動の流れ

タイムライン (テーマ ブラック) --> テーマ変更 (ThemechangeMenu を押す) --> テーマを変更して [保存] ボタンをクリック --> 再起動 TimeLine (新しいテーマを正常に使用) --> Avobe コードを使用してアプリケーションを終了 --> 再起動私のアプリケーション --> TimeLine が表示されます (変更されたテーマではなく、Balck テーマを使用)

新しいタイムライン インスタンスが保存ボタン クリック リスナーを使用して Themechange アクティビティから実行されているときに、スタックからタイムラインの以前のインスタンスを破棄するにはどうすればよいですか?

4

1 に答える 1

0

finish();コードの後に​​配置し、ファイルのTimeLineActivitystartActivity(intent);に追加します。その後、はスタックになりません。android:lauchMode="standard"manifestactivity

于 2013-01-24T06:45:47.223 に答える