У меня есть функция ежедневного планировщика, к которой вы можете получить доступ.Расписание рассчитано на неделю, поэтому каждый фрагмент FragmentStatePagerAdapter соответствует дню.Когда я получаю к нему доступ, он всегда в понедельник, тогда я могу провести пальцем влево и в вторник.Пожалуйста, помогите, я долго искал в интернете!
ПРОБЛЕМА: Как только я узнал день, как мне заставить FragmentStatePagerAdapter начать с фрагмента этого дня и показатьрасписание, которое было заранее разработано для дня?
EX: Если это четверг, то оно открыто ЧТ, тогда я могу провести влево в среду или в пятницу - в пятницу?
public PagerAdapterScheduler (Context context, FragmentManager fm, String[] arrayDayInWeek) {
super(fm);
this.mContext = context;
this.fragmentManager = fm;
this.arrayDayInWeek = arrayDayInWeek;
}
@Override
public Fragment getItem(int i) {
return FragmentDay.newInstance(i, arrayDayInWeek[i]);
}
@Override
public int getCount() {
return this.arrayDayInWeek.length;
}
Вот экземпляр отдельного фрагмента дня (в другом FragmentDay.class):
public static final FragmentDay newInstance (int dayNumber, String dayLabel) {
FragmentDay fragment = new FragmentDay();
Bundle bundle = new Bundle();
bundle.putInt( "dayNumber", dayNumber );
bundle.putString( "dayLabel", dayLabel );
fragment.setArguments( bundle );
return fragment;
}
РЕШЕНИЕ:
Спасибодля предложения этого.Я пробовал это раньше, но теперь это работает.Вот загвоздка:
Вам необходимо SET-ADAPTER перед тем, как SET-CURRENT-ITEM:
mViewPager.setAdapter(mPagerAdapterScheduler);
mViewPager.setCurrentItem( Calendar.getInstance().get(Calendar.DAY_OF_WEEK) );