gpt4 book ai didi

java - 使用 FragmentStatePagerAdapter 在 ViewPager 中刷新 fragment

转载 作者:太空狗 更新时间:2023-10-29 14:12:16 26 4
gpt4 key购买 nike

我正在使用 viewPager,因为它具有在两个 Fragment 之间滑动的滑动功能。但是我想在滑动时刷新 fragment 内容。 FragmentStatePagerAdapter 在缓存方面做得非常好,因此很难让 Fragment 重新加载。我试过将所有内容都放在 onResume 方法中,但这没有任何效果。

我的适配器非常简单:

public class AdapterHomePre extends FragmentStatePagerAdapter {

ArrayList<Fragment> mFrags = new ArrayList<Fragment>();

public AdapterHomePre(FragmentManager fm) {
super(fm);

mFrags.add(new FragmentOne());
mFrags.add(new FragmentTwo());
}

@Override
public int getCount() {
return mFrags.size();
}

@Override
public Fragment getItem(int position) {
return mFrags.get(position);
}
}

我已经按照堆栈溢出的建议尝试了各种方法,包括建议的:

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

这没有区别。

我真的不想每次都销毁 fragment ,但我什至无法让它工作。

最佳答案

我最后做的是编辑设置 viewPager 的 Fragment,以便它强制子 Fragment 重新加载:

    mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
//Not used
}

@Override
public void onPageSelected(int position) {
//Force the fragment to reload its data
Fragment f = mAdapter.getItem(position);
f.onResume();
}

@Override
public void onPageScrollStateChanged(int i) {
//Not used
}
});

关于java - 使用 FragmentStatePagerAdapter 在 ViewPager 中刷新 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26359308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com