पर टैब के साथ एक साथ प्रवाह मैं subitems के बीच स्वाइप करने की क्षमता सहित मेरी android-आवेदन के लिए निम्न लेआउट (टैबलेट के लिए ऊपरी लेआउट, स्मार्ट फ़ोन के लिए कम लेआउट) हासिल करना चाहते हैं: का उपयोग कैसे करें मास्टर/विस्तार एंड्रॉयड
इसलिए मैंने एक्लिप्स के साथ एक मास्टर/विस्तार-प्रवाह गतिविधि बनाई है, जो ठीक काम करता है। टैब के लिए मैंने समर्थन-पुस्तकालय नमूने (<sdk>/extras/android/support/v4/samples/
) पर एक नज़र डाली है, जहां एक सुंदर उदाहरण दिया गया है (FragmentTabsPager.java), जो FragmentActivity
वर्ग को बढ़ाता है और ViewPager
और TabHost
-Widget का उपयोग करता है।
मेरा विचार दोनों उदाहरणों को एक एप्लिकेशन में जोड़ना था, इसलिए टैबपेज को गतिविधि के रूप में उपयोग करने के बजाय, मैं इसे फ्रैगमेंट के रूप में उपयोग करना चाहता हूं। एक स्मार्टफोन पर यह अच्छा काम करता है, लेकिन टैबलेट पर यह केवल एक बार काम करता है (जिसका अर्थ है कि पहली बार शुरू होने पर, सामग्री सही ढंग से लोड हो जाती है, लेकिन जैसे ही मैं बाएं सूची में किसी अन्य आइटम पर क्लिक करता हूं, कोई और सामग्री लोड नहीं होती है)। अधिक सटीक होने के लिए: टैब लोड होते हैं और सही लेबल होते हैं, लेकिन टैब के सामग्री-क्षेत्र में दिखाया जाने वाला सामग्री वहां नहीं है, हालांकि आप टैब के बीच स्वाइप कर सकते हैं, जैसे कि सामग्री वहां थी।
मेरे प्रश्न हैं:
- इस दृष्टिकोण सार्थक है (टैब के साथ मास्टर/विस्तार गठबंधन करने के लिए)? या मैं एक पूरी तरह से अलग दृष्टिकोण का उपयोग करना चाहिए?
- क्या आप जानते हैं कि समस्या को कैसे ठीक किया जाए, सामग्री ठीक से लोड नहीं हो रही है?
इसे देखना आसान बनाने के लिए, मैंने इस विचार के साथ स्क्रैच से डेमो-ऐप बनाया है, जिसे https://github.com/apacha/MasterDetail_And_Tabs से डाउनलोड किया जा सकता है।
Stackoverflow पर संबंधित पोस्ट कि समस्या का समाधान नहीं: ViewPager PagerAdapter not updating the View,
Edit1: मैं http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html के बारे में सीखा और Android FragmentTabHost - Not fully baked yet? पाया है। इन संकेतों के साथ मैं यह लगभग चल पाने में कामयाब रहे, लेकिन अब मैं एक काम संस्करण है जो स्वाइप-सहायता प्रदान नहीं करता के बीच चुना जा सकता है (अगर मैं tabHost के लिए सीधे टैब्स जोड़ें:
FragmentTabHost mTabHost = new FragmentTabHost();
// Add directly to tab-host
mTabHost.addTab(mTabHost.newTabSpec("simple1").setIndicator("Simple1"), CountingFragment.class, b);
एक गाड़ी swipe- की
कार्यान्वयन अगर मैं इसे जोड़ सकते हैं और FragmentPagerAdapter
FragmentTabHost mTabHost = new FragmentTabHost();
ViewPager mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
TabsAdapter mTabsAdapter = new TabsAdapter(getActivity(), mTabHost, mViewPager);
// Add to tab-host-adapter
mTabsAdapter.addTab(mTabHost.newTabSpec("simple1").setIndicator("Simple1"), CountingFragment.class, b);
मैं भंडार उपर्युक्त सभी परिवर्तनों को प्रतिबद्ध किया है का उपयोग करें।
क्या आपने इस समस्या को हल किया?मैं वही संरचना चाहता हूं जिसका आपने उल्लेख किया था, और दुर्भाग्यवश – AlvaroSantisteban
समान दृष्टिकोण लेने के बारे में सोच रहा था। लेकिन यदि आप इसे प्राप्त करते हैं और चलते हैं, तो यह बहुत अच्छा होगा, अगर आप भविष्य में आने वाले आगंतुकों के लिए उपरोक्त भंडार में समाधान जोड़ सकते हैं जो एक ही समस्या का सामना करते हैं (पुल-अनुरोध बनाएं)। –