首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PreferenceFragmentCompat需要设置preferenceTheme

PreferenceFragmentCompat需要设置preferenceTheme
EN

Stack Overflow用户
提问于 2015-08-18 19:05:35
回答 13查看 56.7K关注 0票数 115

使用来自v7 Preference Support Library:http://developer.android.com/tools/support-library/features.html#v7-preference的新PreferenceFragmentCompat时,我收到以下错误

代码语言:javascript
复制
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所建议的,但它看起来并不正确,即使在棒棒糖上也看起来非常全息。

支持库:

本机首选项:

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2015-08-20 10:03:43

该错误修复以gradle依赖项的形式提供

现在可以很容易地使用这个库了。以下是最快的方法,但您应该查看自述文件以了解更多信息。

1.更新模块的gradle文件:

compile 'com.takisoft.fix:preference-v7:27.0.0.0'

2.使用适当的类作为片段的基类

您可以使用PreferenceFragmentCompatPreferenceFragmentCompatDividers

(在导入PreferenceFragmentCompat__时,请注意适当的包名!)

3.使用适当的主题

将包含活动的主题设置为@style/PreferenceFixTheme的变体,如NoActionBar、Light等。

有关更多信息和使用提示,请访问project's page

附注:在本节中,您可以找到导致创建该库的详细解决方案,但我决定删除它,因为它可能会令人困惑。如果你对这些步骤很好奇,你仍然可以在这个答案的中找到它们。

票数 159
EN

Stack Overflow用户

发布于 2015-08-18 21:10:48

您必须在首选项活动的主题中指定preferenceTheme。

例如:

代码语言:javascript
复制
<style name="SettingsTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
</style>

PreferenceThemeOverlay是preference-v7支持库附带的默认主题。

票数 46
EN

Stack Overflow用户

发布于 2017-05-29 15:07:15

看起来谷歌解决了这个问题。我已经使用首选项v14-支持版本25.3.1对此进行了测试

1)将implementation 'com.android.support:preference-v14:25.3.1'添加到您的Gradle中。

2)在样式中添加PreferenceThemeOverlay.v14.Material,而不是PreferenceThemeOverlay

代码语言:javascript
复制
<style name="AppTheme.SettingsTheme" parent="AppTheme.NoActionBar">
    <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style>

3)最后,将样式添加到清单中

代码语言:javascript
复制
android:theme="@style/AppTheme.SettingsTheme"
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32070670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档