मुझे इन संदेशों में से एक टन StackOverflow में मिला। उन कई अन्य लोगों की तरह, टैब को स्विच करते समय टैब सामग्री ओवरलैपिंग के साथ मुझे एक ही समस्या है। मुझे मिली सलाह में से कोई भी मेरी समस्या के साथ काम नहीं करता था।एक्शनबार टैब सामग्री ओवरलैपिंग
जब मेरा ऐप लॉन्च होता है, तो यह सही टैब की सामग्री को सही ढंग से दिखाता है। जब मैं दूसरे टैब पर क्लिक करता हूं, तो पुरानी सामग्री स्क्रीन पर रहती है और अन्य टैब की सामग्री भी स्क्रीन पर जोड़ दी जाती है। दूसरी बार टैब स्विच करते समय, सभी सामग्री गायब हो जाती है। स्विचिंग टैब अब और भी नहीं करेंगे।
मैंने Google के डेवलपर दस्तावेज़ here का पालन किया।
मेरे आवेदन में यह onCreate
विधि है .. कक्षा ActionBarActivity
को libary android.support.v7.app
समर्थन से बढ़ाती है।
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
Tab tab = actionBar.newTab().setText("TAB1").setTabListener(new TabListener<Tab1Class>(this, "tab1", Tab1Class.class));
actionBar.addTab(tab);
tab = actionBar.newTab().setText("TAB2").setTabListener(new TabListener<Tab2Class>(this, "tab2", Tab2Class.class));
actionBar.addTab(tab);
}
मेरे TabListener
वर्ग पेज मैं जुड़ा हुआ से नकल है:
public class TabListener<T extends Fragment> implements ActionBar.TabListener {
private Fragment mFragment;
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
public TabListener(Activity activity, String tag, Class<T> clz) {
mActivity = activity;
mTag = tag;
mClass = clz;
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if(mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if(mFragment != null) {
ft.detach(mFragment);
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {}
}
दोनों वर्गों मैं टैब की सामग्री के रूप में उपयोग android.support.v4.app.Fragment
से टुकड़ा का विस्तार। वे onCreateView
विधियों में अपने लेआउट फुलाते हैं।
क्या गलत है?
बहुत बढ़िया! मुझे समस्याओं का सामना करना पड़ा है क्योंकि मैं चाहता हूं कि एप्लिकेशन एपीआई 10 उपकरणों पर काम करे। मुझे आशा है कि लोग उन पुराने फोनों को कुचलने और एंड्रॉइड 4 के साथ नए प्राप्त करेंगे। बीटीडब्लू, क्या आप जानते हैं कि इन टैब का उपयोग करते समय मेरे एप्लिकेशन का शीर्षक क्यों नहीं है? या मेरा मेनू इन बिंदुओं में क्यों गिरता है, यहां तक कि मेरे पास 'एंड्रॉइड है: showAsAction =" हमेशा "'? – MikkoP
@MikkoP * क्या आप जानते हैं कि इन टैब का उपयोग करते समय मेरे एप्लिकेशन का शीर्षक क्यों नहीं है?* - यह तब होता है जब आप टैब का उपयोग करते हैं? और आप हमेशा 'actionBar.setTitle()' विधि का उपयोग कर सकते हैं। * या मेरा मेनू इन बिंदुओं में क्यों गिरता है, यहां तक कि मेरे पास एंड्रॉइड है: showAsAction = "हमेशा"? * - क्या आपके पास ओवरफ्लो मेनू में मेनू आइटम हैं (पॉपअप जो 3 डॉट्स छवि पर क्लिक करते समय दिखाई देता है)? – Luksprog
यह तब होता है जब मैं इन टैब का उपयोग करता हूं। 'actionBar.setTitle() 'कुछ भी नहीं बदलता है, न ही गतिविधि से' setTitle()' करता है। और हाँ, ये मेनू आइटम अतिप्रवाह मेनू में दिखाए जा रहे हैं। मैंने फिर से एक नया प्रश्न पोस्ट किया, इसलिए अगर कोई इसका उत्तर देता है, तो बेहतर संभावना है कि कुछ अन्य इसे ढूंढ सकें और मदद पा सकें। http://stackoverflow.com/questions/19660334/menu-collapsing-when-using-actionbar-tabs-for-navigation – MikkoP