【问题标题】:Viewpager in fragment not getting updated when navigating back to fragment导航回片段时,片段中的 Viewpager 未更新
【发布时间】:2014-11-24 04:25:06
【问题描述】:

下面是我的 ViewpagerAdapter 的代码

private class ImagePagerAdapter extends FragmentStatePagerAdapter
{
    public ImagePagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        Fragment fragment = new DemoObjectFragment();
        Bundle args = new Bundle();

        args.putInt(DemoObjectFragment.ARG_OBJECT, arg0 );
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub

        int returnVal=0;
        if (totalPlayer%5==0) {
            returnVal= totalPlayer/5;
        }
        else
        {
            moduloImage=totalPlayer%5;
            returnVal= (totalPlayer/5)+1;
        }   
        return returnVal;
    }

    @Override
    public int getItemPosition(Object object){
        return POSITION_NONE;
    }
}

当我第一次加载我的片段时,它会在视图寻呼机中显示所有项目。然后,当我通过将此片段添加到堆栈中导航到新片段时,它会显示下一个屏幕。之后,当我在按钮后按时从堆栈中弹出包含 viewpager 的前一个片段时,它会显示我之前设置的所有值,并且还会将 viewpager 指示器显示到我离开的确切位置,但视图寻呼机项目似乎显示为不可见。当我滚动 viewpager 时,它会更新并显示完美。

我尝试过更新 viewpager,但它似乎什么也没做。

我已将视图寻呼机初始化为,

pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager()));
pager.setCurrentItem(0);
indicator.setViewPager(pager);

【问题讨论】:

  • 你试过刷新里面的值吗?
  • 是的。我尝试过刷新整个值数组。

标签: android android-viewpager


【解决方案1】:

我终于找到了解决方案。问题在于我的 viewPager 的初始化。

我需要启动它,

        pager.setAdapter(new ImagePagerAdapter(this.getChildFragmentManager()));

而不是

        pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager()));

我已经参考了FragmentPagerAdapter getItem is not being triggered 接受的答案。

希望它可以帮助面临同样问题的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多