我正在编写一个应用程序,我使用PageViewer使用可用的解决方案显示无限客户端here。
在我的情况下,我必须使用以下代码更新来自[onPageState] [2]的其他事件的已添加的孩子:
PageFragment scr = (PageFragment) mPagerAdapter.getItem(mPager.getCurrentItem());
但它返回IllegalStateException,表示Fragment已经激活。
我使用this进行了检查,但我没有得到它。
编辑:Fragment child add code: 它一开始就创建了第一个片段列表:
for (int i = 0; i < 5 ; i++) {
PageFragment fragment = new PageFragment();
Bundle bundle = new Bundle();
bundle.putInt("page", i);
fragment.setArguments(bundle);
pageList.add(fragment);
}
EDIT2:这里的行fragment.setArguments(..)导致错误,为什么?
这是适配器实现:
private class PagerAdapter extends FragmentStatePagerAdapter {
public PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
int _pos = position % 5;
PageFragment fragment = pageList.get(_pos);
Bundle bundle = new Bundle();
bundle.putInt("page", position);
fragment.setArguments(bundle);
return fragment;
}
@Override
public int getCount() {
return MAX_CARD_PAGES;
}
}
任何建议。