public void setFragment(Fragment fragment, int position) { mList.set(position, fragment); this.notifyDataSetChanged(); } @Override public int getCount() { return mList.size(); } @Override public Fragment getItem(int arg0) { return mList.get(arg0); } }
可以再FragmentPagerAdapter增加修改Fragment的接口
private class MyFragmentPagerAdapter extends FragmentPagerAdapter
{
private List<Fragment> mList; public MyFragmentPagerAdapter(FragmentManager fragmentManager,
List<Fragment> list)
{
super(fragmentManager);
mList = list;
}
public void setFragment(Fragment fragment, int position)
{
mList.set(position, fragment);
this.notifyDataSetChanged();
} @Override
public int getCount()
{
return mList.size();
} @Override
public Fragment getItem(int arg0)
{
return mList.get(arg0);
} }
你可以在第一个Fragment也就是LoadCourseFragment的onCreateView()方法里面做一个判断,
如果课程已经加载了就直接跳到课程的allCourseFragment,否则就不做跳转
至于怎么做这个判断,你要用一些具体的方法,总之每次启动LoadCourseFragment都要做检测判断
LoadCourseFragment 当加载完的时候自动替换成 allFragment,你现在的情况是 当从viewPager其他页面返回第一个页面的时候显示的不是allFragment这个页面,而是 LoadCourseFragment 这个页面是吧?如果是这样的话你可以再多加一个rootContainer。添加一个framelayout拉力当作 rootContainer,第一次启动的时候将LoadCourseFragment 添加到rootContainer中,当加载完之后再把allFragment添加到rootContainer中。这样应该可以满足你的需求了。这样你要对第一个页面的onBackpress的事件进行适当的处理
你可以在第一个Fragment也就是LoadCourseFragment的onCreateView()方法里面做一个判断,
如果课程已经加载了就直接跳到课程的allCourseFragment,否则就不做跳转
至于怎么做这个判断,你要用一些具体的方法,总之每次启动LoadCourseFragment都要做检测判断
迟早要跳转的,我要让用户看到这个跳转