6

アプリ全体を再起動せずにテーマを適用するにはどうすればよいですか? アクティビティでそれを行うとstartActivity(getIntent()); finish();、終了し、再起動しません。アクティビティを再起動/再作成してテーマを適用することはできますか?

4

2 に答える 2

16

順番が間違っています。

    finish();
    intent = new Intent(this, <your_activity>.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

これが正しい順序です。

テーマはsuper.onCreate(savedInstanceState);呼び出される前に設定できます。setTheme(THEME);アクティビティを破棄して再度作成し、 onCreate() ですぐに呼び出す必要があります

于 2012-03-10T12:26:40.963 に答える
1
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
于 2013-12-03T07:54:29.390 に答える