質問

XMLで定義されているListPreferenceのデフォルト値をプログラム的に取得できる方法は?

これは私のListPreferenceのスニペットです:

    <ListPreference
        android:defaultValue="60"
        android:entries="@array/interval_entries"
        android:entryValues="@array/interval_values"
        android:key="interval"
        android:summary="@string/interval_summary"
        android:title="@string/interval_title" />
.

私はドキュメントを通して行ってきましたが、私はこれを得る方法を見つけていません。たぶん私はそれを見落としています。

役に立ちましたか?

解決

優先演算(フラグメントで廃止予定)を試してください。

ListPreference lp = (ListPreference) this.findPreference(this.getString(R.string.my_key));
lp.getValue();
.

ここで、 my_key は、このListPreferenceに割り当てられているキー値です。注:この値はstrings.xmlで定義されています。リテラル文字列を持つキーをハードコーディングしている場合は、 my_key android:keyタグに指定した文字列に置き換えます。したがって、あなたの場合、コードは次のようになります:

ListPreference lp = (ListPreference) this.findPreference("interval");
lp.getValue();
.

他のヒント

デフォルト値を最初に設定するか、デフォルトにリセットしようとしていますか?に関係なく見て:

PreferenceManager.setDefaultValues(this, R.xml.your_pref_xml, false);
.

ドキュメンテーション

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top