我做了一个简单PreferenceScreen的多重Preference Categorys和CheckBoxPreferences.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="General">
<CheckBoxPreference
android:title="GPS"
android:key="gps_preference"
android:summary="Enales the GPS tracking of your device"
android:defaultValue="true"
></CheckBoxPreference>
<SwitchPreference
android:title="WLAN"
android:key="wlan_preference"
android:summary="Enables the WLAN usage"
android:defaultValue="true"></SwitchPreference>
<CheckBoxPreference
android:title="Benachrichtigungen"
android:key="benachrichtigung_preference"
android:summary="Enables the Push messages"
android:defaultValue="true"
></CheckBoxPreference>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
此首选项屏幕位于a android.support.v7.preference.PreferenceFragmentCompat.如果我像往常一样离开,那一切都很好.
但是,如果我想转出一个CheckBoxPreference的SwitchPreference(应该通过简单地切换出来的XML标记的工作CheckBoxPreference与SwitchPreference我得到我的渲染错误)design标签:
渲染期间引发异常:android.preference.CheckBoxPreference无法强制转换为android.preference.GenericInflater $ Parent
堆栈跟踪:
android.view.InflateException: Binary XML file line #15: Error inflating class (not found)SwitchPreference
at android.support.v7.preference.PreferenceInflater.createItemFromTag(PreferenceInflater.java:301)
at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:359)
at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:361)
at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:167) …Run Code Online (Sandbox Code Playgroud)