我有一个自定义的Viewpager,它会禁用触摸事件。所以我有按钮'Next'和'Back'来控制viewpager。我的问题是如何在viewpager中的片段之间传递数据或包。通常它会起作用,但即使没有显示,也会感觉到碎片被创建。这是因为viewpager幻灯片效果,它必须提前和之前使片段生效。这意味着我不能使用bundle,因为片段已经创建了。这就是我要做的事情
片段1 - >片段2 - >片段3
创建了片段1,片段2也是如此。当我按下“下一个”时,会显示片段2。当我再次按下“下一步”时,我想将一个包传递给片段3,但片段3已经创建,所以它不起作用。
我想到的另一种方法是在Viewpager将其设置为当前Item时在每个Fragment中调用一个方法。
答案 0 :(得分:1)
您可以通过将它们保存在主机活动中来在片段之间共享/传递对象。
答案 1 :(得分:1)
为什么不创建一个所有片段都实现的界面?此界面将有两种方法:getParameterData()
和setParameterData()
。在您的ViewPager中,当他们按下一个或上一个时,请在当前片段上调用getParameterData()
,然后调用要显示的片段上的setParameterData()
。