كيف يمكنني الحصول على القيمة الافتراضية لـ ListPreference كما هو محدد في ملف XML؟

StackOverflow https://stackoverflow.com//questions/21044126

سؤال

كيف يمكنني برمجياً الحصول على القيمة الافتراضية لـ a ListPreference كما حددتها في XML؟

هنا مقتطف من بلدي 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" />

لقد قمت بمراجعة المستندات ولكني لم أجد طريقة للحصول على ذلك.ربما أكون قد تجاهلت ذلك.

هل كانت مفيدة؟

المحلول

بالنسبة إلى PreferenceActivity (المهمل مع Fragment)، حاول:

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

أين مفتاحي هي القيمة الأساسية المخصصة لهذا ListPreference.ملحوظة:يتم تعريف هذه القيمة في strings.xml.إذا كنت قد قمت بترميز مفتاحك بسلسلة حرفية، فقم بالاستبدال مفتاحي مع أي سلسلة قدمتها لـ android:key بطاقة شعار.لذا، في حالتك، ستكون الرموز كما يلي:

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

نصائح أخرى

هل تحاول تعيين القيمة الافتراضية في البداية أو إعادة تعيينها إلى الافتراضي؟بغض النظر عن نظرة على:

giveacodicetagpre.

و الوثائق

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top