android - TabFragment में ViewPager दूसरी बार लोड नहीं हो रहा है




android-fragments android-viewpager (2)

मैं एक ऐप बनाने की कोशिश कर रहा हूं जिसमें एक Fragment में ViewPager है जो TabHost का हिस्सा है।

सब ठीक काम करता है। मेरे पास मेरा टैबबार है, मैं टैब स्विच कर सकता हूं। जब मैं ViewPager के साथ टैब पर स्विच करता हूं, तो सभी सही ढंग से दिखाए जाते हैं। लेकिन जैसे ही मैं इस टैब को ViewPager के साथ छोड़ देता हूं और इस टैब को वापस करता हूं, मेरी सामग्री दिखाई नहीं देती है। अगर मैं दो बार तरफ स्क्रॉल करता हूं तो मुझे अपनी अगली छवि दिखाई देती है। और यदि मैं दो बार वापस जाता हूं तो मुझे यह भी लगता है कि छवियों को लोड किया गया है (शायद ऑफस्क्रीनलोड किया गया) देखें कि जब मैं इसे वापस लौटाता हूं तो मेरा टैबफ्रैगमेंट बहाल किया जा रहा है लेकिन व्यूपागर में टुकड़े नहीं हैं।

मैंने एक स्क्रीन मॉकअप और मेरे कुछ कोड शामिल किए हैं।

क्या कोई मदद कर सकता है?

चीयर्स!

@Override
public void onActivityCreated(Bundle savedInstanceState) {

    mProjectText = (TextView) getView().findViewById(R.id.projectText);
    mProjectText.setText(mActiveProject.getInspirationText());

    mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());

    mPager = (ViewPager)getView().findViewById(R.id.pager);
    mPager.setAdapter(mAdapter);


    super.onActivityCreated(savedInstanceState);
}




public class AlbumAdapter extends FragmentStatePagerAdapter {

private ArrayList<ProjectContent> mItems;

public AlbumAdapter(FragmentManager fm, ArrayList<ProjectContent> items) {
    super(fm);
    this.mItems = items;
}

@Override
public Fragment getItem(int position) {
    return AlbumContentFragment.newInstance(mItems.get(position));
}

@Override
public int getCount() {
    return mItems.size();
}

@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}}


मुझे समस्या मिली। मुझे दो दिन लगे, लेकिन हे, यह तय है।

के बजाय का उपयोग करने का

mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());

आपको उपयोग करना चाहिए

mAdapter = new AlbumAdapter(getChildFragmentManager(), mActiveProject.getInspiration());

5 वर्णों के लिए बहुत कुछ।


मैं इसे लंबे समय तक खोज रहा था। अंत में एक समाधान मिला। अपने पेज एडाप्टर उदाहरण को FragmentStatePagerAdapter उदाहरण:

class PageAdapter extends FragmentStatePagerAdapter {






android-nested-fragment