我正在尝试制作一个在属于 TabHost
的 fragment 中具有 ViewPager
的应用。一切正常。我有我的标签栏,我可以切换标签。当我使用 ViewPager
切换到选项卡时,一切都正确显示。
但是,一旦我离开此标签并使用 ViewPager
并返回此标签,我的内容就不会显示。如果我滚动到一边两次,我确实会看到我的下一张图片,如果我返回两次,我还会看到图片已加载(可能是 offscreenloaded
)。
看到我的 TabFragment
正在重新实例化,但 ViewPager
中的 fragment 却没有。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
mProjectText = (TextView) getView().findViewById(R.id.projectText);
mProjectText.setText(mActiveProject.getInspirationText());
mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());
mPager = (ViewPager)getView().findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
super.onActivityCreated(savedInstanceState);
}
public class AlbumAdapter extends FragmentStatePagerAdapter {
private ArrayList<ProjectContent> mItems;
public AlbumAdapter(FragmentManager fm, ArrayList<ProjectContent> items) {
super(fm);
this.mItems = items;
}
@Override
public Fragment getItem(int position) {
return AlbumContentFragment.newInstance(mItems.get(position));
}
@Override
public int getCount() {
return mItems.size();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}}
最佳答案
我发现了问题。我花了两天时间,但嘿,它已经修好了。
而不是使用
mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());
你应该使用
mAdapter = new AlbumAdapter(getChildFragmentManager(), mActiveProject.getInspiration());
5 个字符就这么多。
关于android - TabFragment 中的 ViewPager 未再次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960676/