主题以编程方式设置。 如何重新加载要应用的活动

如何在不重新启动整个应用程序的情况下应用主题? 如果我使用startActivity(getIntent()); finish(); startActivity(getIntent()); finish(); 活动退出并且不重启。 是否可以简单地重新启动/重新创建活动以应用主题?

它的顺序不正确。

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

这是正确的顺序。

主题可以在super.onCreate(savedInstanceState);之前设置super.onCreate(savedInstanceState); 正在被召集。 你需要销毁活动并再次创建它并立即调用setTheme(THEME); 在onCreate()

 Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() ); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);