Фрагмент не отображается после перехода из другого фрагмента / действия

Я использую FragmentPagerAdapter и ViewPager, чтобы показать два фрагмента. Первый раз при открытии фрагмента оба показывают / работают нормально. Когда я иду к другому занятию или иду к другому фрагменту за пределами этих 2 и возвращаюсь, ничего не появляется. Вот код

Событие:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Events extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.event, container, false);
    // Get the ViewPager and set it's PagerAdapter so that it can display items
    ViewPager viewPager = (ViewPager) rootView.findViewById(R.id.pager);
    FragmentManager fm = getFragmentManager();
    viewPager.setAdapter(new MyFragmentPageAdapter(fm));

    // Give the SlidingTabLayout the ViewPager
    SlidingTabLayout slidingTabLayout = (SlidingTabLayout) rootView.findViewById(R.id.tabs);
    // Center the tabs in the layout
    slidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
        @Override
        public int getIndicatorColor(int position) {
            return getResources().getColor(R.color.ColorSecondary);
        }
    });
    slidingTabLayout.setDistributeEvenly(true);
    slidingTabLayout.setViewPager(viewPager);
    return rootView;
  }
}

MYFramentAdapter.class:

import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;


public class MyFragmentPageAdapter extends FragmentPagerAdapter{

final int PAGE_COUNT = 2;
private String tabTitles[] = new String[] { "Upcoming", "Calendar" };
private Context context;

    public MyFragmentPageAdapter(FragmentManager fm) {
        super(fm);

    }
@Override
public int getCount() {
    return PAGE_COUNT;
}

@Override
public Fragment getItem(int pos) {
    switch(pos) {

        case 0: return FragmentEvents.newInstance(0);
        case 1: return  FragmentCalendar.newInstance(1);

        default: return null;
    }
}

@Override
public CharSequence getPageTitle(int position) {
    // Generate title based on item position
    return tabTitles[position];
}

}

1 ответ

Постановили:

Мне пришлось использовать getChildFragmentManager() во ViewPager из-за вложенных фрагментов.

Другие вопросы по тегам