4

アプリの設定を読み取ろうとすると、次のエラーが表示されます。

設定アクティビティ:

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));
        }
    }
}

プリファレンス 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>

アプリケーションマニフェストでこれを設定しました:

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="15" />

私が得る最初のエラーは次のとおりです。

android.view.InflateException: Binary XML file line #4: Error inflating class SwitchPreference

前もってサンクス。

4

1 に答える 1

14

SwitchPreferenceAPI Level 14 で追加されました。それ以前のバージョンの Android では使用できません。API レベル 9 までサポートしようとしているので、次のいずれかを実行できます。

  1. CheckBoxPreferenceの代わりにを使用して、以前のバージョンとは異なる設定 XML を使用SwitchPreferenceする

  2. とりあえず使ってCheckBoxPreference落とすだけSwitchPreference

于 2012-06-30T19:48:15.200 に答える