我正在尝试创建静态类ActivitySetup,该类用于为我的活动设置语言,主题等。我在设置主题时遇到问题。现在我有以下代码:
static void configureTheme(Activity activity, int defaultTheme) {
String theme = PreferenceManager.getDefaultSharedPreferences(activity).getString("theme", "light");
assert theme != null;
switch (theme) {
case "light":
activity.setTheme(R.style.AppTheme);
break;
case "dark":
activity.setTheme(R.style.Theme_AppCompat);
break;
default:
activity.setTheme(defaultTheme);
break;
}
}
但是它崩溃了。我知道我应该使用super (of activity).setTheme
而不是activity.setTheme
,但是我该怎么做?如何将超类实例作为参数传递给静态方法?
答案 0 :(得分:5)
动态切换主题,您只需要在setTheme
之前调用super.onCreate
public void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
答案 1 :(得分:0)
谢谢。这就是我找到的答案:
https://media.githubusercontent.com/media/_Username_/_Project_/_Branch_/_Path_to_file_
在所有活动中调用此方法:
vrView.setContent({
//image: 'V0050069.jpg',
image: 'https://media.githubusercontent.com/media/labcesi-strasbourg/labcesi-strasbourg.github.io/master/V0050069.jpg',
//preview:'/url/to/amazing-512.jpg',
is_stereo: false
});