अरे दोस्तों मैं एक एंड्रॉइड ऐप पर काम कर रहा हूं जहां मैं प्रत्येक टैब के लिए एक गतिविधि समूह को कार्यान्वित करना चाहता हूं। लेकिन चूंकि गतिविधि समूह को बहिष्कृत किया गया है, इसलिए मुझे टुकड़ों का उपयोग करना है। मैंने आखिरी दिनों में गुमराह किया और उस विषय पर कुछ शोध किया लेकिन मुझे अभी भी यह नहीं मिला। नीचे दिया गया ग्राफिक वर्णन करता है कि मैं क्या करना चाहता हूं। इसके अलावा मैं सीधे आईओएस से आ रहा हूं और मुझे अपने सिद्धांतों के बारे में कुछ प्रतिक्रिया चाहिए।एंड्रॉइड फ्रैगमेंट बनाम गतिविधि समूह
आप हर टुकड़ा देख सकते हैं एक WebView टुकड़ा के होते हैं। जब उपयोगकर्ता उस वेबव्यू फ्रैगमेंट में किसी लिंक पर क्लिक करता है - अनुरोध पकड़ा जाता है और एक नया फ्रैगमेंट बदल दिया जाता है जो फिर से वेबव्यू रखता है और पिछले फ्रेम में क्लिक किया गया लिंक लोड करता है। एक बिंदु पर उपयोगकर्ता पहले टुकड़े पर वापस जाने का फैसला करता है और बैक बटन दबाता है।
फ्रैगमेंट्स को रिवर्स ऑर्डर में स्टैक को तब तक पॉप करना चाहिए जब तक वह पहले को नहीं देखता। आदर्श रूप से प्रत्येक टुकड़े को अपने instancestate को बचा लेना चाहिए, ताकि जब उपयोगकर्ता वापस चला जाता है WebView साइट को फिर से लोड करने की आवश्यकता नहीं है।
मैं एक्शनबार शेरलॉक में आया हूं जो फ्रैगमेंट टैब के बारे में एक उदाहरण प्रदान करता है। एक टुकड़ा ढेर का एक उदाहरण भी है। इन दो उदाहरणों को गठबंधन करना आदर्श होगा, ताकि प्रत्येक टैब में फ्रैगमेंट स्टैक शामिल हो।
मेरे कोड structs ऐसा दिखाई देगा:
मेरे TabHost टुकड़ा
public class MyActivity extends SherlockFragmentActivity {
static TabHost mTabHost;
static TabManager mTabManager;
public static int THEME = R.style.Theme_Sherlock_Light;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(THEME); //Used for theme switching in samples
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_tabs);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabManager = new TabManager(this, mTabHost, R.id.myRealTabContent);
// adding some Fragment Tabs
mTabManager.addTab(mTabHost.newTabSpec(tabNames[i]).setIndicator(tabNames[i]),
FragmentStackSupport.CountingFragment.class, bundle);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tab", mTabHost.getCurrentTabTag());
}
// defining the Tab Manager
कैसे प्रत्येक टैब के लिए टुकड़ा ढेर की तरह दिखना चाहिए होगा? वर्तमान में मेरे पास प्रत्येक टैब के अंदर एक टुकड़ा के साथ एक टुकड़ा गतिविधि है। लेकिन मुझे आवश्यक तर्क प्राप्त नहीं होता है।
यहाँ मेरी कोड है: (? या वहाँ वेब पर किसी भी उदाहरण हैं) My Fragment with WebView inside
मैं कुछ प्रतिक्रिया और संकेत के लिए खुशी होगी। मुझे स्मृति के बारे में कुछ चिंताएं भी होती हैं - जब उपयोगकर्ता क्लिक करता है और क्लिक करता है और क्लिक करता है और स्मृति को प्रत्येक टुकड़े को ढेर में रखना होता है।
चीयर्स।
+1 एक अच्छी तरह से समझाया गया प्रश्न के लिए। –
क्या आपको कभी इस मुद्दे का ठोस समाधान मिला है? –