2012-04-13 16 views
11

हैलो साथी प्रोग्रामर, मुझे प्राथमिकता गतिविधि के साथ एक छोटी सी समस्या है।एंड्रॉइड - प्राथमिकता गतिविधि में गतिशील रूप से ग्रंथों को कैसे बदलें?

<?xml version="1.0" encoding="utf-8"?> 

<PreferenceCategory android:title="@string/basic_settings" > 
    <ListPreference 
     android:defaultValue="70" 
     android:entries="@array/listArray" 
     android:entryValues="@array/listValues" 
     android:key="updates_interval" 
     android:persistent="true" 
     android:summary="@string/SOME_SUMMARY" 
     android:title="@string/SOME_TITLE" /> 
</PreferenceCategory> 

मेरे द्वारा चुने गए मूल्य की आवश्यकता है (डिफ़ॉल्ट एक:

http://developer.android.com/reference/android/preference/PreferenceActivity.html

मैं सिर्फ एक वरीयता श्रेणी और एक listPreference मिल गया है या उपयोगकर्ता परिभाषित एक) सूची के सारांश में लिखा है, उदाहरण के लिए उदाहरण: हमारे पास कम से कम 70 वर्ण होंगे।

मैं कोड से यह कैसे कर सकता हूं?

किसी भी मदद

उत्तर

24

सराहना की इस तरह की कोशिश करो ..

Preference customPref = (Preference) findPreference("updates_interval");<-- your preferences key 
customPref.setSummary("desired string"); 
+1

धन्यवाद! :) मुझे findPreference विधि नहीं मिली। – user1332117

0

आप जिसमें आप एक OnPreferenceChangedListener जिसमें से आप नया मान के लिए उपयोग होगा सेट ListPreference का एक उपवर्ग बना सकते हैं और सेट आपके ListPreference पर पाठ। मुझे लगता है कि ListPreference पर setSummary() फ़ंक्शन वरीयता के नाम के नीचे टेक्स्ट अपडेट करेगा। यदि यह काम नहीं करता है तो आप वरीयता के लिए अपना स्वयं का कस्टम व्यू लागू करने के लिए getView() को ओवरराइड कर सकते हैं जिस पर आप सीधे टेक्स्ट सेट कर सकते हैं।

1

यहाँ एक छोटी उदाहरण है:

Preference etp = (Preference) findPreference("the_pref_key"); 
etp.setSummary("New summary"); 

यह जरूरी है कि आप अपनी प्राथमिकताओं या तो एक PreferenceActivity से या एक PreferenceFragment से, findPreference के बाद से (प्रदर्शन) इन कक्षाओं की एक विधि है। आप शायद पहले से ही ऐसा करते हैं।

प्रत्येक बार जब उपयोगकर्ता वास्तविक वरीयता बदलता है तो सारांश बदलने के लिए, OnPreferenceChangeListener का उपयोग करें और जांचें कि प्रासंगिक कुंजी कॉलबैक में बदल गई है या नहीं। इसे बदलने के बाद, उपरोक्त सारांश को संपादित करें।

+0

इतना आसान है! बहुत बहुत धन्यवाद :) मुझे लगता है कि प्राप्ति विधि ... – user1332117

संबंधित मुद्दे