动态ViewPager页面流

时间:2012-05-16 01:09:47

标签: android android-viewpager

我使用ViewPager让用户左右翻转以在给定活动的页面之间导航。

是否可以以编程方式控制ViewPager的页面流?

例如: 如果用户没有填写当前页面上的给定EditText,我不希望他能够导航到下一个。

另一种情况:如果用户当前在第1页,并且如果hi填充了具有特定值的给定EditText并且用户从右向左翻转,我希望他直接进入第5页而不是第2页。 / p>

1 个答案:

答案 0 :(得分:0)

“翻转”是指用手指拖动还是仅使用ViewPager进行动画制作?

如果是前者,则必须动态编辑ViewPager的子项以获得所需的效果。您可以覆盖onInterceptTouchEvent()以阻止触摸事件,直到页面完成。

但是,我建议在ViewPager中禁用手指拖动(可能使用onInterceptTouchEvent()),然后使用setCurrentItem(4, true)显示动画并导航到特定页面。您需要的逻辑可以使用调用setCurrentItem(4, true)的按钮来实现。例如,您可以拥有“Next->”除非表单完全完成,否则显示为灰色的按钮。无论如何,这将比第一个选项更直观。

编辑:4只是您要切换到的任何子索引。