我目前让用户从设置部分选择一个主题,但是当我尝试应用主题时它不起作用。用户必须退出整个应用程序并重新开始。我是android的新手,所以如果它是一个愚蠢的问题我道歉。
答案 0 :(得分:2)
执行此操作的方法是在MainActivity中创建一个全局变量。此变量将存储用户选择的首选项选择。
public static String themeChoice;
然后在onCreate方法中,通过查询prefrence管理器为此变量赋值。
themeChoice = PreferenceManager.getDefaultSharedPreferences(this).getString("themeChoice", "Default Theme");
最后,在MainActivity的onResume方法中,您可以检查该变量是否等于用户选择的首选项。如果不是,则表示主题已更改,然后您可以重新创建活动。
if(!(themeChoice.equals(PreferenceManager.getDefaultSharedPreferences(this).getString("themeChoice", "Default Theme")))
recreate();
答案 1 :(得分:0)
只需浏览以下链接即可。它详细解释了您需要的一切。
http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html