【问题标题】:Completing fragment transaction when a task is done任务完成后完成分片事务
【发布时间】:2013-07-19 22:43:28
【问题描述】:

这可能是一个简单的问题,但我已经研究了几个小时,但无法解决。抱歉,如果之前有人问过。

在我的活动中,我有 2 个片段。在一个片段中,我从服务器获取 JSON 并放入 ArrayList。放入 ArrayList 后,我必须添加另一个片段,在 ArrayList 中传递第一个值。

这就是问题所在,我想在我的 ArrayList 完成后添加 Fragment,在它从服务器获取所有值之后。我在我的onActivityCreated() 方法中进行服务调用,服务器调用发生在另一个类中,我在一个名为onRequestFinished() 的方法中获取 Bundle,我将 JSON 放入 ArrayList 在这个 Overridden 方法中。

P.S. 我试图把 AsyncTask 放进去,但我无法做到,因为我必须等待来自 onRequestFinished() 方法的响应。

我的 ArrayList 填满后如何处理并完成Fragment Transaction

谢谢

【问题讨论】:

  • 请您发布一些代码。
  • 这是一个非常复杂的应用程序,并且与代码没有太多关系。我需要一些逻辑来处理它。

标签: android android-fragments fragment


【解决方案1】:

我建议在第一个片段中使用 startActivityForResult。当父活动收到 onActivityResult 时,它可以启动第二个片段。有很多关于如何在 SO 和其他地方执行此操作的示例。

即使你不想启动一个活动,你也可以在你的第一个片段完成时使用相同的机制与活动进行通信,例如:

Is there a method that works like start fragment for result?

当然,您也可以从您的第一个片段中实现回调机制 - 但就个人而言,我喜欢 onActivityResult 方法。

【讨论】:

  • 但我没有在我的片段中启动任何活动?我有一个活动,这个活动有两个片段。在第一个片段中,我从服务器获取一些数据,并根据这些数据调用第二个片段。我的活动没有结束,它仍然有效
  • 我已经澄清了我的答案。
猜你喜欢
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多