क्या आप कृपया मुझे बता सकते हैं कि मैं एंड्रॉइड में अपनी खुद की वरीयता कक्षा कैसे बना सकता हूं? अपने खुद के लेआउट और अपने क्लिक श्रोता के साथ?अपनी खुद की वरीयता वर्ग कैसे बनाएं
धन्यवाद।
क्या आप कृपया मुझे बता सकते हैं कि मैं एंड्रॉइड में अपनी खुद की वरीयता कक्षा कैसे बना सकता हूं? अपने खुद के लेआउट और अपने क्लिक श्रोता के साथ?अपनी खुद की वरीयता वर्ग कैसे बनाएं
धन्यवाद।
ठीक है, यह book में लगभग छः या सात पृष्ठ हैं, इसलिए यह स्टैक ओवरफ़्लो उत्तर के लिए थोड़ा सा शामिल है। :-)
Here is a sample project कस्टम View
के साथ, जिसे कस्टम Preference
में भी लपेटा गया है। यह कोड की केवल ~ 80 लाइनें है, हालांकि अधिकांश यूआई स्मारक कस्टम View
कक्षा में बाध्य हैं।
संक्षेप में, एक कस्टम DialogPreference
बनाने के लिए, आप निर्धारित करने होंगे:
onCreateDialogView()
और onBindDialogView()
संवाद सामग्री बनाने के लिए और वरीयता डेटा के साथ सामग्री को पॉप्युलेटonDialogClosed()
जब उपयोगकर्ता वरीयता को सेट नहीं करता है तो उपयोगकर्ता को वरीयताonGetDefaultValue()
को अपने समग्र डिफ़ॉल्ट को संभालने के लिए संभालने के लिएonSetInitialValue()
वरीयता मूल्य में या तो लोड या अपने डिफ़ॉल्ट का उपयोग करने केमेरा मानना है कि इस नमूने अधिक समझा जा सकता है और अच्छी तरह से दिखाया गया है: http://www.codeproject.com/KB/android/seekbar_preference.aspx
के रूप में अच्छी तरह से अन्य दो जवाब, मैंने पाया यह भी एक है Android स्रोत कोड को देखने का अच्छा विचार। उदाहरण के लिए, CheckBoxPreference और DialogPreference। न तो कक्षा बहुत बड़ी है, इसलिए यदि आप अपना सिर कैसे काम कर सकते हैं, तो आप अपना काम लागू कर सकते हैं।
मैं एक वर्ग बनाता हूं जो सब-क्लास डायलॉग प्रेफरेंस, और ओवरडलोड ऑनक्रेटडियलोग व्यू और ऑनबिंडडियलोग व्यू() पर, लेकिन किसी कारण से, जब मैं डीबगर में चलाता हूं, तो इन 2 विधियों को कभी भी कॉल नहीं किया जाता है। और जब मैं एमुलेटर में डीबग करता हूं तो मुझे वरीयता के रूप में खाली दिखाई देता है। – michael
@ माइकल: मेरे लिए सार में आपको सलाह देना मुश्किल है। एक विकल्प है कि आप मेरे कोड को क्लोन करें, इसे काम करें, फिर उसे चरण-दर-चरण की आवश्यकता में परिवर्तित करें। – CommonsWare