这可能是一个简单的问题,但我已经工作了几个小时,无法解决它。如果之前有人问过,我很抱歉。
在我的活动中,我有2个碎片。在一个片段中,我从服务器获取 JSON 并放入 ArrayList 。放入 ArrayList 后,我必须添加另一个片段,在 ArrayList 中传递第一个值。
问题是,当我的 ArrayList 完成后,我希望在从服务器获取所有值后添加 Fragment 。我在我的onActivityCreated()
方法中进行服务调用,服务器调用正在另一个类中进行,我在一个名为onRequestFinished()
的方法中获得了Bundle,我将 JSON 添加到 ArrayList 。
P.S。我试图把 AsyncTask 但我无法做到,因为我必须等待来自onRequestFinished()
方法的响应。
填写 ArrayList 后,如何处理并完成片段交易?
由于
答案 0 :(得分:0)
我建议在第一个片段中使用startActivityForResult。当父活动收到onActivityResult时,它可以启动第二个片段。有很多关于如何在SO和其他地方做到这一点的例子。
即使您不想开始活动,也可以使用相同的机制在第一个片段完成时与活动进行通信,例如:
Is there a method that works like start fragment for result?
或者你当然可以从你的第一个片段实现一个回调机制 - 但就个人而言,我喜欢onActivityResult方法。