У меня есть перелистываемые фрагменты структурированы в следующей иерархии: перелистываемой фрагменты не отображающая в правильном порядке
, который я использую, чтобы представить пользователь приложение и его функцию. Однако, когда я запускаю приложение, фрагменты не отображаются в правильном порядке (welcome1 -> welcome2 -> welcome3 и т. Д.). Вместо этого он отображает «welcome2, welcome 2, welcome 3, welcome 4» при правильном прокрутке. Когда я прокручиваю влево, заказ снова перепутался, и он отображает «welcome4» каждый раз. Мой код выглядит следующим образом:
IntroActivity класс:
public class IntroActivity extends AppCompatActivity {
private SectionsPagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_feature);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
Log.e("---","Position 0");
return WelcomeFragment.newInstance("testtitle#1",R.layout.fragment_welcome_one,R.id.welcome1);
}else if (position == 1){
Log.e("---","Position 1");
return WelcomeFragment.newInstance("testtitle#2", R.layout.fragment_welcome_two, R.id.welcome2);
}else if (position == 2){
Log.e("---","Position 2");
return WelcomeFragment.newInstance("testtitle#3", R.layout.fragment_welcome_three, R.id.welcome3);
}else if (position == 3){
Log.e("---","Position 3");
return WelcomeFragment.newInstance("testtitle#4", R.layout.fragment_welcome_four, R.id.welcome4);
}
return null;
}
@Override
public int getCount() {
return 4;
}
}
}
WelcomeFragment класс:
public class WelcomeFragment extends Fragment {
static String mTitle;
static int mLayoutID;
static int mTitleID;
public WelcomeFragment() {
}
public static WelcomeFragment newInstance(String title, int layoutID, int titleID) {
WelcomeFragment mWelcomeFragment = new WelcomeFragment();
mTitle = title;
mLayoutID = layoutID;
mTitleID = titleID;
return mWelcomeFragment;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(mLayoutID,container,false);
TextView textView = (TextView)rootView.findViewById(mTitleID);
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Roboto-Thin.ttf");
textView.setText(mTitle);
textView.setTypeface(font);
return rootView;
}
}
Я не могу точно определить, что является причиной моих фрагментов рисовать неверно, любая помощь приветствуется.