Create a customized android component with a ViewPager inside -
यह मेरे आवेदन का लेआउट है।
activity_main.xml:
& lt; रिलेटिव लेआउट xmlns: android =" http: //schemas.android.com/apk/res/android "xmlns: tools =" http://schemas.android.com/tools "एंड्रॉइड: layout_width =" match_parent "एंड्रॉइड: layout_height =" match_parent "उपकरण: संदर्भ =" .MainActivity "& gt; & Lt; com.test.myapp.ContainerView एंड्रॉइड: id = "@ + id / view1" एंड्रॉइड: layout_width = "match_parent" एंड्रॉइड: layout_height = "200dp" / & gt; & Lt; / RelativeLayout & gt; container_view.xml:
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" एंड्रॉइड: layout_height = "wrap_content" एंड्रॉइड: layout_width = "match_parent" एंड्रॉइड: अभिविन्यास = "क्षैतिज" & gt; & Lt; android.support.v4.view.ViewPager एंड्रॉइड: id = "@ + id / पेजर" एंड्रॉइड: layout_width = "match_parent" एंड्रॉइड: layout_height = "wrap_content" & gt; & LT; /android.support.v4.view.ViewPager> & Lt; / LinearLayout & gt; ViewPagerAdapter.java:
<पूर्व> सार्वजनिक वर्ग ViewPagerAdapter FragmentStatePagerAdapter विस्तारित करता है {FragmentManager mFragmentManager; सार्वजनिक व्यूपपेज एडाप्टर (फ्रेगमेंट मैनेजर एफएम) {सुपर (एफएम); MFragmentManager = fm; } @ ओवरराइड सार्वजनिक टुकड़ा प्राप्त आईटीएम (इंट की स्थिति) {नया पृष्ठ विलंब वापसी करें); } @ ओवरराइड सार्वजनिक int getCount () {वापसी 5; }} MainActivity.java: सार्वजनिक कक्षा मुख्य गतिविधि ActionBarActivity विस्तारित {
@Override सुरक्षित शून्य पर क्रिएट (बंडल सहेजा गया इन्स्टैंसस्टेट) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } ContainerView.java:
पब्लिक क्लास कंटेनरव्वेज लाइनरलायआउट फैलता है {सार्वजनिक कंटेनरव्यू (प्रसंग संदर्भ, AttributeSet attrs) {सुपर (संदर्भ, attrs); // TODO: यह बहुत बदसूरत है, कैसे इस ActionBarActivity गतिविधि = (ActionBarActivity) संदर्भ को ठीक करने के लिए; लेआउटइनफ्लेटर इन्फ्लेटर = (लेआउट इनफ्लाटर) context.getSystemService (संदर्भ। LAOUT_INFLATER_SERVICE); रूट = inflater.inflate देखें (R.layout.container_view, यह, सच); ViewPager viewPager = (ViewPager) root.findViewById (R.id.pager); ViewPagerAdapter एडाप्टर = नया ViewPagerAdapter (activity.getSupportFragmentManager ()); viewPager.setAdapter (अनुकूलक); }} जैसा कि आप जानते हैं, ViewPagerAdapter को FragmentManager की आवश्यकता है यही कारण है कि मेरे पास यह कंटेनर वीव.जावा में यह रेखा है ताकि मैं गतिविधि के माध्यम से फ्रैगमेंट मैनेजर को प्राप्त कर सकूं। GetSupportFragmentManager ():
एक्शनब्रेक गतिविधि गतिविधि = (एक्शनब्रेकविटी) संदर्भ; यह काम करता है लेकिन यह बहुत बदसूरत है। क्या कोई बेहतर तरीका है? धन्यवाद।
Comments
Post a Comment