Java 带有ContextThemeWrapper的LayoutFlater不总是主题化

Java 带有ContextThemeWrapper的LayoutFlater不总是主题化,java,android,android-context,android-theme,layout-inflater,Java,Android,Android Context,Android Theme,Layout Inflater,我正在尝试使用不同于app default的主题来膨胀布局,并按如下方式进行: final View view = context.getLayoutInflater().cloneInContext(new ContextThemeWrapper(context, getThemeForView())).inflate(R.layout.some_layout, root, false); “第一次完成”视图没有我想要的主题,但有主应用程序主题。当视图在几分钟后重新创建时,它具有正确的主题。

我正在尝试使用不同于app default的主题来膨胀布局,并按如下方式进行:

final View view = context.getLayoutInflater().cloneInContext(new ContextThemeWrapper(context, getThemeForView())).inflate(R.layout.some_layout, root, false);
“第一次完成”视图没有我想要的主题,但有主应用程序主题。当视图在几分钟后重新创建时,它具有正确的主题。为什么第一次创建视图时主题不同

编辑:
我无法设置
android:theme
,因为我是通过友好方式获取主题的。

我第一次在
活动中创建视图。onCreate
。通过一些测试,我发现如果我在
Activity.onWindowFocusChanged(布尔hasFocus)
中创建视图,当
hasFocus==true
工作正常时。我仍然不知道为什么。

您可以添加

android:theme="@style/some_theme"

到清单文件中的活动。

我简化了代码,主题是“以友好方式获取”,不过还是要谢谢你。