我已经创建了6个片段。第1到第3个片段将在早上加载到viewPager中,其他三个片段将在晚上时间加载。如何根据时间动态更新viewPager以显示所需的片段集?这是我的MainActivity代码。我已经在viewPager中实现了前3个片段。但是如何将另外3个片段加载到viewPager中?
MainActivity:
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
// adding bottom dots
addBottomDots(0);
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
MyFragmentInterface fragmentInterface = (MyFragmentInterface) mSectionsPagerAdapter.instantiateItem(mViewPager, position);
if (fragmentInterface != null) {
fragmentInterface.fragmentBecomeVisible();
Log.e("PageSelected", position + "");
}
addBottomDots(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
private class SectionsPagerAdapter extends FragmentStatePagerAdapter {
SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
switch (position) {
case 0: {
return new Fragment1();
}
case 1: {
return new Fragment2();
}
case 2: {
return new Fragment3();
}
}
return null;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public int getCount() {
// Show 3 total pages.
return totalTabs;
}
}
如何在晚间加载其他三个片段?
更新: 在寻找解决方案时,我认为会出现一个问题。如果用户从早上开始使用应用程序,那么片段是否会在实时的12:05 PM更新?
switch
里面得到时间,那么当用户更改页面时它会检测并反映出来。或者如果用户停留在同一页上,则使用闹钟管理器,在接收器中尝试退出应用程序或重新加载片段。 - Nitin Patel