android - TabFragment 中的 ViewPager 未再次加载

标签 android android-fragments android-viewpager android-nested-fragment

我正在尝试制作一个在属于 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;
}}

The mockup for the app

最佳答案

我发现了问题。我花了两天时间,但嘿,它已经修好了。

而不是使用

mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());

你应该使用

mAdapter = new AlbumAdapter(getChildFragmentManager(), mActiveProject.getInspiration());

5 个字符就这么多。

关于android - TabFragment 中的 ViewPager 未再次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960676/

相关文章:

android - 即使在操作系统中禁用了屏幕旋转,我的 Android 应用程序也会旋转。我怎样才能解决这个问题?

java - 其中一个 fragment 无法立即更新其他 fragment 的数据

android - 在多个 fragment 中的 fragment 中实现选项卡

android - 更改最低 SDK 版本时,ViewPager 在同一设备上运行速度变慢

android - 一次使用半滑动viewpager android的两个 ListView

android - 在 ViewPager 内的所有 fragment 中同步 ScrollView 的滚动位置

android - espresso:登录测试窗口而不是logcat

android - 在按两次后退按钮之前关闭 Activity

android - map v2 绘制的折线不完全在路上

android - fragment 事务中 2 个 View 的动画