2011-07-19 13 views
7

मैंने 3.0-डिवाइस पर डायलॉगफ्रैगमेंट का उपयोग करने का प्रयास किया है, जो एसडीके स्तर द्वारा फ्रैगमेंट या डायलॉग फ्रैगमेंट का समर्थन नहीं करता है।मैं संगतता पैकेज का उपयोग करके संवादप्रवाह कैसे दिखा सकता हूं?

तो, मैंने एंड्रॉइड संगतता लाइब्रेरी का उपयोग करने का निर्णय लिया, जो फ्रैगमेंट का समर्थन करता है।
फिर मैंने एक डायलॉग फ्रैगमेंट क्लास बनाया जो एंड्रॉइड.support.v4.app.DialogFragment बढ़ाता है।

लेकिन ..... जब मैं अपने DialogFragment DialogFragment.show() का उपयोग कर दिखाने की कोशिश की, मुझे लगता है कि शो (FragmentManager, स्ट्रिंग) अधिसूचित पहला तर्क स्वीकार करता है के रूप में android.app.FragmentManager, नहीं android.support .v4.app.FragmentManager

मुझे लगता है कि android.app.FragmentManager का उपयोग एंड्रॉइड 3.0- डिवाइसों में नहीं किया जा सकता है, क्योंकि यह एसडीके में शामिल नहीं है।

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

किसी भी मदद की बहुत सराहना की जाएगी। :)

उत्तर

15

संगतता पैकेज 3.0 से पहले एंड्रॉइड संस्करणों पर विकसित होने वालों के लिए है।

दोनों FragmentManager और DialogFragment कक्षाएं एपीआई स्तर 11 (3,0)

में मौजूद किसी भी टुकड़ा या गतिविधि में आप स्क्रीन के बीच में एक छोटा सा (खाली) संवाद प्रदर्शित करने के लिए निम्न कार्य करने में सक्षम होना चाहिए :

DialogFragment df = new DialogFragment(); 
df.show(getSupportFragmentManager(), "MyDF"); 
+5

उपयोग करने के लिए (getSupportFragmentManager साथ getFragmentManager बदलें) सीमित नहीं हैं। – Tom

10

FragmentManager और DialogFragment SDK संस्करण 4 के लिए compat lib में मौजूद है और ऊपर की तरफ, सुनिश्चित करें कि आप उन लोगों के आयात करते हैं।

उपयोगकर्ता getSupportFragmentManager() आपके FragmentManager को compat lib के लिए प्राप्त करने के लिए।

'FragmentManager' के compat lib संस्करण को पास करने वाले DialogFragment दस्तावेज में वर्णित संवाद दिखाएं।

ध्यान दें कि आप भी एक Fragment और 'शो' के रूप में DialogFragment इलाज यह एक सौदे के भाग के रूप add(...) या replace(...) का उपयोग कर, कर सकते हैं, यानी आप सिर्फ show(...)

+1

ऐड() और शो() के बीच क्या अंतर होगा? – David

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