片段之间Viewpager通捆绑 [英] Viewpager pass bundles between fragments

查看:101
本文介绍了片段之间Viewpager通捆绑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个自定义Viewpager其中禁用触摸事件。所以,我有按钮下一步和返回的控制viewpager。我的问题是如何在viewpager片段之间传递数据或捆绑。通常它会工作,但感测,即使它们没有示出在创建片段。这是因为viewpager滑动效果,它具有使前方和前的效应来工作的片段。因此,这意味着我不能使用包,因为已创建的片段。这就是我想要做的。

I have a custom Viewpager in which it disables the touch events. So I have buttons 'Next' and 'Back' that control the viewpager. My question is how to pass data or bundles between the fragments in the viewpager. Normally it would work but sense the fragments are created even though they are not shown. That's because of the viewpager slide effect, it has to make the fragments ahead and before for the effect to work. So that means I can't use bundles since the fragment is already created. This is what I'm trying to do

片段1 - >片段2 - >片段3

Fragment 1 -> Fragment 2 -> Fragment 3

1片段创建等为片段2。当我preSS'下一步'片段2所示。我想一个包传递到片段3,当我preSS下一步,再而Fragment 3已创建的,因此它不会工作。

Fragment 1 is created and so is Fragment 2. When I press 'Next' Fragment 2 is shown. I want to pass a bundle to Fragment 3 when I press 'Next' again but Fragment 3 is already created so it won't work.

另一种方式,我认为是要调用一个方法在每个片段中,当Viewpager将其设置为当前项目。

Another way I thought of is to call a method in each Fragment when the Viewpager sets it as its current Item.

推荐答案

你为什么不创建所有的碎​​片实现接口?这个接口有两个方法: getParameterData() setParameterData()。在您的ViewPager,当他们preSS明年或previous,调用 getParameterData()当前片段,然后调用 setParameterData() 上要显示的片段。

Why don't you create an interface that all of your fragments implement? This interface will have two methods: getParameterData() and setParameterData(). In your ViewPager, when they press next or previous, call getParameterData() on the current fragment, then call setParameterData() on the fragment to be displayed.

这篇关于片段之间Viewpager通捆绑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆