Android AddPreferencesFromResource原因FC:膨胀类CheckboxPreference时出错

Android AddPreferencesFromResource原因FC:膨胀类CheckboxPreference时出错,android,crash,checkboxpreference,Android,Crash,Checkboxpreference,每次切换到“首选项”活动时,我都会收到一个运行时错误,该错误会影响我的应用程序。我正在尝试学习Android编程,我设法解决了我遇到的问题,但在花了大量时间寻找帮助后,我无法理解我做错了什么 这是Settings.java的代码: package com.wisp.sudokuapp; import android.os.Bundle; import android.preference.PreferenceActivity; public class Settings extends Pr

每次切换到“首选项”活动时,我都会收到一个运行时错误,该错误会影响我的应用程序。我正在尝试学习Android编程,我设法解决了我遇到的问题,但在花了大量时间寻找帮助后,我无法理解我做错了什么

这是Settings.java的代码:

package com.wisp.sudokuapp;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Settings extends PreferenceActivity {
    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);
    }

}
My settings.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckboxPreference
       android:key="hints"
       android:title="@string/settings_hints_title"
       android:summary="@string/settings_hints_summary"
       android:defaultValue="true" />

    <CheckboxPreference
       android:key="music"
       android:title="@string/settings_music_title"
       android:summary="@string/settings_music_summary"
       android:defaultValue="true" />

</PreferenceScreen>
我知道这个方法已经过时了,但我希望它能与2.3.x一起使用。为了学习android开发,我正在读一本书,在书中它似乎起了作用。我发现从资源中注释掉行addpreferences可以防止应用程序崩溃,但显然不会加载任何UI

我真的很感激你的帮助


对不起,我的英语不好。

问题在于xml文件中的输入错误。将CheckboxPreference更改为CheckboxPreference。

问题在于xml文件中的键入错误。将CheckboxPreference更改为CheckboxPreference。

您有拼写错误。二,事实上。尝试:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference
       android:key="hints"
       android:title="@string/settings_hints_title"
       android:summary="@string/settings_hints_summary"
       android:defaultValue="true" />

    <CheckBoxPreference
       android:key="music"
       android:title="@string/settings_music_title"
       android:summary="@string/settings_music_summary"
       android:defaultValue="true" />

</PreferenceScreen>


Android XML区分大小写,因此
CheckboxPreference
CheckboxPreference

不同,根本不存在拼写错误。二,事实上。尝试:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference
       android:key="hints"
       android:title="@string/settings_hints_title"
       android:summary="@string/settings_hints_summary"
       android:defaultValue="true" />

    <CheckBoxPreference
       android:key="music"
       android:title="@string/settings_music_title"
       android:summary="@string/settings_music_summary"
       android:defaultValue="true" />

</PreferenceScreen>


Android XML是区分大小写的,所以
CheckboxPreference
CheckboxPreference
不同,根本不存在。哦,我觉得自己很傻。特别是在花了几个小时寻找问题之后。非常感谢。哦,我觉得很傻。特别是在花了几个小时寻找问题之后。非常感谢你。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference
       android:key="hints"
       android:title="@string/settings_hints_title"
       android:summary="@string/settings_hints_summary"
       android:defaultValue="true" />

    <CheckBoxPreference
       android:key="music"
       android:title="@string/settings_music_title"
       android:summary="@string/settings_music_summary"
       android:defaultValue="true" />

</PreferenceScreen>