【发布时间】:2015-12-18 23:46:44
【问题描述】:
我有一个ViewPager,其中有几个使用FragmentStatePageAdapter 的片段。
我正在寻求实现一些东西,当用户滑离片段时,我可以将输入到EditText 的数据字符串从fragment 发送到activity。
我查看了OnPageChangeListener 并尝试了几种不同的方法,但由于onPageSelected 为您提供了您要移动的fragment id,我无法获得Layout View fragment 引用 EditText 我正在滑离。也不会有任何设置片段会导致另一个片段,即Fragment 1 并不总是导致Fragment 2 等等。
我尝试使用 fragment 的 onDestroy() ,但在我刷掉 2 个 fragments 之前似乎没有调用它,所以这也没用。
有没有人对我可以用什么来实现这一点有任何建议?
谢谢
【问题讨论】:
-
您是否为 ViewPager 使用 FragmentStatePagerAdapter?我想这个类会有某种
getPosition()函数。 -
足够相关,但不确定是否重复。看看这个:stackoverflow.com/questions/8258759/…
-
@McAdam331 是的,使用 FragmentStatePagerAdapter。当我在片段上时,我可以毫无问题地获得当前位置,我想我的问题是我需要在调用 onPageSelected 之前将它存储在某个地方,然后通过它但没有用户与按钮或类似的交互。那有意义吗?不确定我是否可以使用 onAttach() 或 onResume() 似乎这些已经作为 FragmentStateAdapters 函数的一部分被调用,就像在 2 次滑动之后才调用 onDestroy 一样?
-
你看到我链接的另一篇文章了吗?也许您可以创建一个自定义界面来跟踪某人访问过的最后位置/当前位置?
-
@McAdam331 啊抱歉在我打字的时候没看到,会检查一下谢谢:)
标签: android android-fragments android-viewpager