mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOffscreenPageLimit(1);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
tabLayout.getTabAt(2).setIcon(tabIcons[2]);
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new Fragment_tab1();
case 1:
return new Fragment_tab2();
case 2:
return new Fragment_tab3();
default:
return null;
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
}
3개의 탭 프래그먼트를 가진 레이아웃입니다.
근데 도저히 해결이 안되는건...
각각의 탭으로 스와이프 할 경우 각각의 프래그먼트 레이아웃은 잘 나옵니다..(아래소스 참조)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d(this.getClass().getSimpleName(), "tab2 onCreateView()");
return inflater.inflate(R.layout.fragment_fragment_tab2, container, false);
}
그런데 문제는...
현재 화면에 보이는 탭에 대한 로그가 전혀 찍히질 않습니다..
특히나 탭2는 맨 처음 실행시에만 보이고,,,,
탭3까지 스와이핑 후 다시 탭2로 스와이핑해도 로그가 전혀 찍히질 않습니다.
또한 화면은 탭2인데 로그는 탭3에 대한 로그가 찍히기도 합니다.
1달째 해결못하고 있어요,,꼭 좀 도와주시면 정말 감사드리겠습니다.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.d(this.getClass().getSimpleName(), "tab2 onViewCreated()");
super.onViewCreated(view, savedInstanceState);
.......
}