【发布时间】:2014-08-18 18:41:11
【问题描述】:
我在 ViewPager 中有 2 个片段,在第二个片段页面上我有一个 TextView,其中包含两个片段页面上的 editText 总数。我在 onResume() 方法中有代码,但在滑动之间没有调用。
当第一个 Fragment 中的值发生更改时,在第二个 Fragment 上的 TextView 中更新总计的最简单方法是什么。
我希望这是一个简单的单行作业
【问题讨论】:
我在 ViewPager 中有 2 个片段,在第二个片段页面上我有一个 TextView,其中包含两个片段页面上的 editText 总数。我在 onResume() 方法中有代码,但在滑动之间没有调用。
当第一个 Fragment 中的值发生更改时,在第二个 Fragment 上的 TextView 中更新总计的最简单方法是什么。
我希望这是一个简单的单行作业
【问题讨论】:
对于这种行为,您应该在您的 Fragments 之间创建一个 Interface ,定义一个接口并在您的 First Fragment 中创建一个对象(使用 getActivity() 对其进行初始化),然后当发生事件(更改第一个 Fragment 中的数据)调用已在您的 Interface 中定义的函数,然后在 Parent Activity 中实现该接口并使用 FragmentManager 将更改的值传递给第二个 Fragment 并更新您的 TextView 。
【讨论】:
FragmentPagerAdapter 将除了显示的片段之外的其他片段保持在恢复状态。解决方案是实现一个自定义的OnPageChangeListener,并使用新方法创建一个接口,用于显示片段。
您可以在我的回答here 或this blog post 中找到更详细的解决方案。
【讨论】: