XMLで定義されているようにListPreferenceのデフォルト値を取得できますか?
-
21-12-2019 - |
質問
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);
.
所属していません StackOverflow