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

时间:2012-02-25 17:20:25

标签: android xml styles themes actionbarsherlock

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

2 个答案:

答案 0 :(得分: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);之前设置主题。您需要销毁活动并再次创建它,并立即在onCreate()

中调用setTheme(THEME);

答案 1 :(得分:1)

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