2
내 응용 프로그램은 5 개의 스 와이프 탭이있는 ViewPager를 사용합니다. 대형 기기와 가로 방향으로 앱을 실행할 때 내 ViewPager에서 2 조각 또는 2 탭 페이지를 펼치고 작은 기기 또는 세로보기에서 실행할 때 1 조각 또는 1 탭 페이지를 펼치고 싶습니다. 또한 ViewPager에서 단일 조각을 표시 할 때 일반적으로하는 것처럼 모든 탭을 스 와이프 할 수 있어야합니다.뷰 페이지에 2 개의 프래그먼트를 표시하는 방법
나는 초기화 조각 확장 내 CourseFragment 클래스에서 내 ViewPager을 팽창 :
ViewPager mViewPager = (ViewPager) getView().findViewById(
R.id.pagerYear);
InfoTechPageAdapter infoTechPageAdapter = new InfoTechPageAdapter(
getChildFragmentManager());
mViewPager.setOffscreenPageLimit(5);
mViewPager.setAdapter(infoTechPageAdapter);
내 InfoTechPageAdapter FragmentStatePagerAdapter를 확장 : PageAdapter 클래스의
package com.usjr.sss.adapter;
import com.usjr.sss.fragment.InfoTechFirstYearFragment;
import com.usjr.sss.fragment.InfoTechFourthYearFragment;
import com.usjr.sss.fragment.InfoTechSecondYearFragment;
import com.usjr.sss.fragment.InfoTechThirdYearFragment;
import com.usjr.sss.fragment.SubmitSubjectFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
public class InfoTechPageAdapter extends FragmentStatePagerAdapter {
public InfoTechPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
Fragment mFragment;
switch (pos) {
case 0:
mFragment = new InfoTechFirstYearFragment();
mFragment.setArguments(null);
return mFragment;
case 1:
mFragment = new InfoTechSecondYearFragment();
mFragment.setArguments(null);
return mFragment;
case 2:
mFragment = new InfoTechThirdYearFragment();
mFragment.setArguments(null);
return mFragment;
case 3:
mFragment = new InfoTechFourthYearFragment();
mFragment.setArguments(null);
return mFragment;
case 4:
mFragment = new SubmitSubjectFragment();
mFragment.setArguments(null);
return mFragment;
default:
return null;
}
}// end getItem
@Override
public int getCount() {
return 5;
}// end getCount
@Override
public CharSequence getPageTitle(int pos) {
// Locale l = Locale.getDefault();
switch (pos) {
case 0:
return "FIRST YEAR";
case 1:
return "SECOND YEAR";
case 2:
return "THIRD YEAR";
case 3:
return "FOURTH YEAR";
case 4:
return "SUBMIT";
}
return null;
}
}