जिस ऐप को मैं विकसित कर रहा हूं वह एक गतिविधि है जो SherlockFragmentActivity
तक फैली हुई है। गतिविधि में वरीयताओं को आसानी से जोड़ने के लिए मैं वरीयता एपीआई का उपयोग करना चाहता हूं। चूंकि मैं एपीआई स्तर 8 और ऊपर का समर्थन करना चाहता हूं, इसलिए मुझे कक्षा SherlockPreferenceActivity
से गतिविधि का विस्तार करना है।एंड्रॉइड वरीयता सक्रियता और संवाद खंड
समस्या यह है कि गतिविधि को एक संवाद दिखाने की आवश्यकता है। संवाद SherlockDialogFragment
फैलाता है। show()
संवाद के तरीके को दो पैरामीटर की आवश्यकता है: FragmentManager
ऑब्जेक्ट और String
टैग।
FragmentManager
ऑब्जेक्ट प्राप्त करने के लिए, मैं गतिविधि के getSupportFragmentManager()
विधि को कॉल करता था। यह विधि SherlockPreferenceActivity
से अनुपलब्ध है। मैं getFragmentManager()
उपयोग करने के लिए कोशिश की, लेकिन ग्रहण का कहना है कि
प्रकार DialogFragment में विधि शो (FragmentManager, स्ट्रिंग) तर्कों (FragmentManager, स्ट्रिंग)
मैं कैसे दिखा सकते हैं के लिए लागू नहीं है SherlockPreferenceActivity
से संवाद खंड?
मैं एक ही समस्या है। हमें समर्थन पैकेज से FragmentManager प्राप्त करने की आवश्यकता है लेकिन SherlockPreferenceActivity में ऐसी कोई चीज़ नहीं है। = ( –
मैंने इसे एक और तरीके से हल किया है। उसी पैकेज के तहत एक और गतिविधि बनाएं (इस नई गतिविधि को मैनिफेस्ट में जोड़ना याद रखें)। शेरलॉक प्रेफरेंस एक्टिविटी बढ़ाएं और इंटरफ़ेस को साझा करें SharePreferences.OnSharedPreferenceChangeListener। समझने के लिए एंड्रॉइड डेवलपर साइट को देखें इस गतिविधि को कैसे लिखें। उपयोगकर्ता प्राथमिकताओं को प्रबंधित करने के लिए इस गतिविधि का उपयोग करें। दूसरी गतिविधि से, जब उपयोगकर्ता सेटिंग बटन दबाता है, वांछित गतिविधि को किसी इरादे से शुरू करें। मुख्य गतिविधि से आप वरीयता प्रबंधक का उपयोग कर सेटिंग्स को पढ़ने में सक्षम होंगे। –