android.view.InflateException:二进制XML文件行#4:错误导致类SwitchPreference

Eli*_*vah 4 java android

我正在尝试阅读我的应用偏好设置,并收到此错误消息:

设置活动:

public class Settings extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        try
        {
            addPreferencesFromResource(R.xml.prefs);
        }
        catch (Exception ex)
        {
            Log.e("errorSettings", Log.getStackTraceString(ex));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

首选项XML文件:

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

    <PreferenceCategory android:title="General">
    <SwitchPreference
        android:title="Downloader"
        android:defaultValue="true"
        android:key="useDownloader"
        android:summary="Enable to use" />
    </PreferenceCategory>

</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

在应用程序清单上我设置了这个:

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

我得到的第一个错误是:

android.view.InflateException: Binary XML file line #4: Error inflating class SwitchPreference
Run Code Online (Sandbox Code Playgroud)

Thanx前期.

Com*_*are 14

SwitchPreference已在API级别14中添加.您无法在早期版本的Android上使用它.由于您尝试支持API级别9,因此您可以:

  1. 对于早期版本使用不同的首选项XML,使用CheckBoxPreference而不是a SwitchPreference

  2. 现在就使用CheckBoxPreference和放弃SwitchPreference