5

मेरे उपयोग के मामले:छिपा/दिखा प्रासंगिक कार्रवाई बार प्रोग्राम के रूप में

मैं अपने ही दृश्य तत्व, अपने तीन पृष्ठों के लिए तीन Fragment रों के साथ सेट अप के रूप में एक ViewPager साथ एक गतिविधि है (एक FragmentPagerAdapter का उपयोग)। इन टुकड़ों में से एक ListFragment है, जबकि अन्य दो नियमित Fragment एस कुछ इन्फोग्राफिक्स हैं।

ListFragment में सूची तत्वों को "जांचने" की अनुमति देती है, और तत्वों की जांच करने से प्रासंगिक क्रिया बार आता है, जो चयनित/चेक किए गए आइटमों पर संभव कार्यों की एक सूची प्रस्तुत करता है।

मेरे समस्या:

जब मैं सूची आइटम के एक जोड़े का चयन करें, सीएबी दिखाता है। लेकिन जब मैं पृष्ठों को स्विच करता हूं, तो सीएबी क्रियाओं को प्रस्तुत करते हुए दृश्यमान रहता है। मामलों को और खराब बनाने के लिए, ViewPager कभी-कभी सूची खंड के दृश्य को नष्ट कर देता है - इसलिए क्रियाओं का चयन "java.lang.IllegalStateException: Content view not yet created" अपवाद को फेंकता है।

मेरे सवालों का:

  1. मैं कैसे उपयोगकर्ता ListFragment पृष्ठ से दूर चला जब टैक्सी गायब मिलता है?
  2. (वैकल्पिक) ListFragment वापस होने पर सीएबी फिर से दिखाई देने के लिए कैसे मिलता है और कुछ आइटम अभी भी चेक किए जाते हैं।

उत्तर

1

आपको पहले अपने viewPager करने के लिए एक ViewPager.OnPageChangeListenerViewPager.OnPageChangeListener साथ जोड़ने की जरूरत है।

पर पेज पर चयनित विधि अपने सीएबी को खारिज करने के लिए अपने ListFragment में एक विधि कॉल करें।

संपादित करें:

मौजूदा सक्रिय टुकड़ा प्राप्त करने के लिए आप इसे टैग का उपयोग कर सकते हैं। टैग इस विधि के साथ computated जा सकता है:

private static String makeFragmentName(int viewId, int index) { 
    return "android:switcher:" + viewId + ":" + index; 
} 

जहां viewId viewpager और सूचकांक टैब सूचकांक (स्थिति)

+0

में बताए गए विधि setUserVisibleHint विधि का उपयोग करके आप ViewPager से उपयुक्त सूचीफ्रैगमेंट तक कैसे पहुंचेंगे? – Joshua

+1

मैंने खंड – david

+0

तक पहुंचने के तरीके के बारे में जानकारी जोड़ने के लिए उत्तर संपादित किया है ViewPager.OnPageChangeListener कैसे दो बार आते हैं? क्या यह एक टाइपो है या क्या इसका मतलब कुछ और है? – RightHandedMonkey

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^