我已经搜索但找不到解决我的问题的方法。我需要做的是设置一个随机主题,然后让所有其他视图都采用这个主题。主题的随机化不是问题,我知道它正在醒来。问题是刷新堆栈中已经存在的视图。
我打电话
int theme = Constants.THEMES[randomInt];
setTheme(theme);
在堆栈中的某个活动中,然后调用invalidate()
该活动。该活动没有发生任何事情,但是当我参加其他活动时,新主题将适用。
此外,当我“回到”我的身边时,我mainActivity
不知道如何View
重新绘制。
我打电话
@Override
protected void onResume() {
super.onResume();
if(refreshNeeded){
getWindow().getDecorView().findViewById(
android.R.id.content).getRootView().invalidate();
}
}
但什么也没有。我不知道如何让它用新主题重绘。
我错过了一些明显的东西吗?