【问题标题】:Refresh fragment when coming back on it in viewpager在 viewpager 中返回片段时刷新片段
【发布时间】:2016-05-19 05:13:34
【问题描述】:

我有一个由片段填充的 ViewPager。特别是,我有一个显示地址对象列表的片段和一个允许创建新地址的片段。 添加新地址的过程如下:

AddressListFragment --> CreateAddressFragment --> AddressListFragment

因此,当添加新地址时,我会回到 AddressListFragment,它是 ViewPager 中的活动地址。我需要更新该片段,以便在我回来时使用新添加的地址更新列表!是否有我需要覆盖该片段的特定方法?

提前致谢!

【问题讨论】:

  • attach(...)detach(..) 片段只是更新方式
  • 你的意思是销毁片段并重新创建它的一个实例?
  • 也许this 帖子是你想要的......?

标签: android android-fragments android-viewpager reload


【解决方案1】:

您应该使用notifyDataSetChanged() 通知您的适配器以更新您的列表,例如

yourAdapter.notifyDataSetChanged();

【讨论】:

  • 是的,但在哪里?当我回到片段时,它会调用哪个方法?
  • 没关系。当您随时随地更改某些内容时,您可以在最后通知适配器,适配器会更新列表。
  • 哦,我明白了,我应该从 CreateAddressList获取绑定到 AddressListFragment 中适配器的地址列表>,将新创建的地址添加到它并调用 notifyDataSetChanged 权利。会试试看!
【解决方案2】:

在您的AddressListFragment 中,您可以创建Custom Broadcast Receiver 并在AddressListFragment 中注册此Custom Broadcast Receiver。 现在从CreateAddressFragment 发送Broadcast message。当您当时在您的 AddressListFragment 接收器中发送消息时,您会收到消息,您可以完成您的任务。

或者如果您想创建一个每次返回片段时调用的方法,那么您可以找到最佳解决方案here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多