2010-07-30 12 views
7

क्या आप कृपया मुझे बता सकते हैं कि मैं एंड्रॉइड में अपनी खुद की वरीयता कक्षा कैसे बना सकता हूं? अपने खुद के लेआउट और अपने क्लिक श्रोता के साथ?अपनी खुद की वरीयता वर्ग कैसे बनाएं

धन्यवाद।

उत्तर

8

ठीक है, यह book में लगभग छः या सात पृष्ठ हैं, इसलिए यह स्टैक ओवरफ़्लो उत्तर के लिए थोड़ा सा शामिल है। :-)

Here is a sample project कस्टम View के साथ, जिसे कस्टम Preference में भी लपेटा गया है। यह कोड की केवल ~ 80 लाइनें है, हालांकि अधिकांश यूआई स्मारक कस्टम View कक्षा में बाध्य हैं।

संक्षेप में, एक कस्टम DialogPreference बनाने के लिए, आप निर्धारित करने होंगे:

  • कंस्ट्रक्टर्स
  • onCreateDialogView() और onBindDialogView() संवाद सामग्री बनाने के लिए और वरीयता डेटा के साथ सामग्री को पॉप्युलेट
  • onDialogClosed() जब उपयोगकर्ता वरीयता को सेट नहीं करता है तो उपयोगकर्ता को वरीयता
  • onGetDefaultValue() को अपने समग्र डिफ़ॉल्ट को संभालने के लिए संभालने के लिए
  • onSetInitialValue() वरीयता मूल्य में या तो लोड या अपने डिफ़ॉल्ट का उपयोग करने के
+0

मैं एक वर्ग बनाता हूं जो सब-क्लास डायलॉग प्रेफरेंस, और ओवरडलोड ऑनक्रेटडियलोग व्यू और ऑनबिंडडियलोग व्यू() पर, लेकिन किसी कारण से, जब मैं डीबगर में चलाता हूं, तो इन 2 विधियों को कभी भी कॉल नहीं किया जाता है। और जब मैं एमुलेटर में डीबग करता हूं तो मुझे वरीयता के रूप में खाली दिखाई देता है। – michael

+0

@ माइकल: मेरे लिए सार में आपको सलाह देना मुश्किल है। एक विकल्प है कि आप मेरे कोड को क्लोन करें, इसे काम करें, फिर उसे चरण-दर-चरण की आवश्यकता में परिवर्तित करें। – CommonsWare

1

के रूप में अच्छी तरह से अन्य दो जवाब, मैंने पाया यह भी एक है Android स्रोत कोड को देखने का अच्छा विचार। उदाहरण के लिए, CheckBoxPreference और DialogPreference। न तो कक्षा बहुत बड़ी है, इसलिए यदि आप अपना सिर कैसे काम कर सकते हैं, तो आप अपना काम लागू कर सकते हैं।

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