Fragment
:My1stFragment
和My2ndFragment
。 My1stFragment
内部,我有一个ListView
,由数据库填充。同样,当我单击“编辑”按钮时,我调用2nd Fragment
来编辑数据。 Fragment
中,我编辑工资金额并通过单击Submit按钮更新数据库,然后返回My1stFragment
。 My1stFragment
时,即使数据库已更新,我的ListView
也没有更新。 最佳答案
派生您的PagerAdapter
类为
public static class MyPagerAdapter extends FragmentStatePagerAdapter
代替
public static class MyPagerAdapter extends FragmentPagerAdapter
基本上,
FragmentPagerAdapter
将创建的Fragment
保留在内存中,而FragmentStatePagerAdapter
销毁它们并在移入和移出 View 时重新创建它们。进一步考虑:
1. 确保您未在任何
setRetainInstance(true)
中调用Fragment
,否则不会刷新/更新它们。2. 添加
viewPager.setOffscreenPageLimit(0);
您的代码。这样可以确保重新创建相邻的
Fragment
。3. 代替
Activity -> ViewPager -> Fragments
创建结构为
Activity -> Fragment -> ViewPager -> Nested Fragments
这将确保在页面滑动时刷新每个
Fragment
。有关实现,请参见this post。编辑:
如以下注释中所述,点2是多余的。因此,在这种情况下,实际上只有点1和3是有用的。