2013-07-25 8 views
5

जब मैं वरीयता फ्रेगमेंट में वरीयता को टैप करता हूं तो मैं एक संवादप्रवाह उत्पन्न करने की कोशिश कर रहा हूं।मैं वरीयता प्रारूप से संवाद कैसे प्रदर्शित कर सकता हूं?

Cannot resolve method 'show(android.app.FragmentManager, java.lang.String)'

समस्या यह है कि मैं android.support.v4.app.FragmentManager refernece नहीं कर पा रहे: दुर्भाग्य से, जब मैं (DialogFragment.show में getFragmentManager() कहते हैं) मैं निम्न त्रुटि प्राप्त इस खंड से। इस खंड के प्रभारी गतिविधि फ्रैगमेंट एक्टिविटी से फैली हुई है, लेकिन जाहिर है कि यह पर्याप्त नहीं है। मैं getSupportFragmentManager() रूप में अच्छी तरह बुला कोशिश की, लेकिन है कि मुझे इस त्रुटि दिया:

Cannot resolve method 'getSupportFragmentManager()'

मैं इस काम कैसे कर सकते हैं?

gPrefAcknowledgements.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() 
{ 
    @Override 
    public boolean onPreferenceClick(Preference preference) 
    { 
     DialogAcknowledgements dialogAck = new DialogAcknowledgements(); 
     dialogAck.show(getFragmentManager(), "acknowledgements"); 
     return true; 
    } 
}); 

उत्तर

7

स्टीव जवाब पर बिल्डिंग, मैं भी android.app.DialogFragment से (android.support.v4.app.DialogFragment के बजाय) आयात करने के लिए DialogFragment स्थापित करने के लिए की जरूरत है। उस लाइब्रेरी में शो() फ़ंक्शन एक android.app.FragmentManager के लिए पूछता है, जिसे मैं फ्रेगमेंट मैनेजर() प्राप्त करने के लिए कॉल के माध्यम से प्रदान कर सकता हूं जैसा मैंने प्रश्न में पोस्ट किए गए कोड में किया था।

+0

उपयोगी उत्तर देने/स्वीकार करने पर विचार करें। –

+4

मैं ऊपर उठाना चाहता हूं लेकिन मेरे पास केवल 11 प्रतिनिधि हैं। कम से कम कहने में निराशा होती है। – IAmKale

4

इस प्रयास करें::

dialogAck.show(getActivity().getFragmentManager(), "acknowledgements"); 

तुम हमेशा गतिविधि जो टुकड़ा, जिसके समान टाइप यह है रखती है कॉल कर सकते हैं

यहाँ कुछ कोड है।

संपादित करें:

मैं गलत था, PreferenceFragment समर्थन लाइब्रेरी में शामिल नहीं है और एंड्रॉयड 3.0 और उच्चतर में ही उपलब्ध है। यह post इस परिदृश्य से निपटने में मदद कर सकता है।

+0

मैंने यह भी कोशिश की, जिसने एंड्रॉइड.एप.फ्रैगमेंट मैनेजर, एंड्रॉइड.एक्स.एप.फ्रैगमेंट मैनेजर नहीं किया, वही त्रुटि उत्पन्न की है। – IAmKale

+2

getActivity()। GetSupportFragmentManager() भी अच्छा नहीं है? क्या आप वाकई अपने टुकड़े और अपनी फ्रैगमेंट एक्टिविटी के लिए समर्थन लाइब्रेरी आयात का उपयोग कर रहे हैं? –

+0

वरीयता फ़्रेगमेंट में एक समर्थन लाइब्रेरी क्लास प्रतीत नहीं होती है। मैंने android.support.v4 के आसपास पोक करने की कोशिश की लेकिन इसके लिए कुछ भी नहीं मिला। – IAmKale

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

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