2011-11-08 5 views
7

मैं एंड्रॉयड के साथ एप्लिकेशन को विकसित करने हूँ ViewPager साथ android.app.Fragment का उपयोग करना: minSdkVersion = "11"। जो मुझे पता है, से ViewPager को संगतता लाइब्रेरी के भीतर कार्यान्वित किया गया है। मैं इसे एंड्रॉयड-support-v4.jar पुस्तकालय जोड़कर अपने आवेदन में काम करने के लिए सफल होने के लिए है, लेकिन अब मैंAndroid 3.0 में

android.support.v4.app.FragmentActivity

उपयोग करने के लिए क्योंकि बाध्य कर रहा हूँ मुझे new android.app.Activity's getFragmentManager() की बजाय FragmentPagerAdapter के लिए getSupportFragmentManager() की आवश्यकता है।

इसके अलावा, मैं

android.support.v4.app.Fragment

बजाय

की

यह उपयोग करने के लिए android.app.Fragment

की जरूरत हालांकि काम करता है, मुझे निश्चित रूप से इस दृष्टिकोण को पसंद नहीं है। यह ऐप के डिज़ाइन को नष्ट कर देता है, और मैं अपने एपीआई लेवल 11 प्रोजेक्ट में संगतता लाइब्रेरी नहीं चाहता हूं।

हनीकोम्ब + एप्लिकेशन में ViewPager उपयोग करने के लिए वहाँ अन्य अधिक देशी तरीके हैं?

+0

स्वीकृत जवाब [परिवर्तन] (http://stackoverflow.com/a/16067755/1747491) अब v13' जारी किया गया है कि 'चाहिए। – theblang

उत्तर

13

स्वीकार्य उत्तर के समय यह मामला नहीं हो सकता था, लेकिन sample code में import android.support.v13.app.FragmentStatePagerAdapter; है। यदि आप समर्थन-v13 लाइब्रेरी का उपयोग करते हैं तो निर्माता FragmentManager का गैर-समर्थन संस्करण लेता है। ध्यान दें कि ViewPager अभी भी v4 से आना चाहिए।

मैं भी कि v4 जोड़ देंगे Android संस्करण के लिए समर्थन पुस्तकालय का मतलब 4 (डोनट 1.6), और v13 Android संस्करण के लिए समर्थन पुस्तकालय का मतलब 13+ (Honeycomb 3.2)। बस एक तथ्य जो कम से कम मेरे लिए तुरंत स्पष्ट नहीं था। मतलब v4/v13 में उपयोग किए गए एपीआई के साथ संगत हैं और उस बिंदु पर संस्करण वापस हैं।

7

FragmentPagerAdapter को अपने कोड में कॉपी करें और android.app.Fragment आदि का उपयोग करने के लिए इसे संशोधित करें या अपने PagerAdapter को स्वयं लागू करें, यह बिल्कुल टुकड़ों पर निर्भर नहीं है।

+0

आपका मतलब है कि मैं इसे संशोधित करने के बाद, मेरे ऐप में व्यूपेगर कोड का भी उपयोग कर सकता हूं? मुझे संगतता पुस्तकालय का स्रोत कहां मिल सकता है? क्या यह हनीकॉम के लिए एकमात्र तरीका है, और अधिक देशी या सार्वभौमिक नहीं है? – morphium

+0

डाउनलोड में स्रोत शामिल है। यदि आपने इसे एसडीके प्रबंधक से स्थापित किया है तो यह $ SDK_ROOT/अतिरिक्त/एंड्रॉइड/संगतता/v4/src में होगा। आप 'स्थानीय या सार्वभौमिक' से क्या मतलब है पता नहीं है, लेकिन 'ViewPager' Android SDK का हिस्सा नहीं है, आप अपने प्रोजेक्ट में जोड़ने के लिए इसका इस्तेमाल करने के लिए है, या तो पुस्तकालय में (जार) या स्रोत प्रपत्र। –

+0

मैंने FragmentPagerAdapter की प्रतिलिपि बनाई है और इसे android.app.Fragment के साथ काम किया है। लेकिन यह दृष्टिकोण अभी भी मानता है कि मुझे एंड्रॉइड-सपोर्ट-v4.jar लाइब्रेरी का उपयोग करना है। क्या यह सामान्य दृष्टिकोण है? – morphium