使用v7首选项支持库中的新PreferenceFragmentCompat:http://developer.android.com/tools/support-library/features.html#v7-preference,我收到此错误
E java.lang.IllegalStateException: Must specify preferenceTheme in theme
E at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:202)
应该设置什么主题?
更新:尝试使用的
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
如@Bogato所建议的那样,但它看起来不正确,即使在棒棒糖上也看起来非常Holo。
支持库:
native 首选项:
最佳答案
该错误修复程序可以作为gradle依赖项使用
现在,可以轻松使用该库了。这是最快的方法,但是您应该查看自述文件以了解更多信息。
1.更新模块的gradle文件:compile 'com.takisoft.fix:preference-v7:27.0.0.0'
2.使用适当的类作为片段的基础
您可以使用PreferenceFragmentCompat
或PreferenceFragmentCompatDividers
。
(导入PreferenceFragmentCompat
时请注意适当的软件包名称!)
3.使用适当的主题
将您包含的Activity主题设置为@style/PreferenceFixTheme
的变体,例如NoActionBar,Light等。
P.S.在本节中,您可以找到导致创建该库的详细解决方案,但是我决定删除它,因为它可能会造成混淆。如果您对这些步骤感到好奇,仍然可以在此答案的revision history中找到它们。
关于android - PreferenceFragmentCompat需要preferenceTheme设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32070670/