我使用ViewPager让用户左右翻转以在给定活动的页面之间导航。
是否可以以编程方式控制ViewPager的页面流?
例如: 如果用户没有填写当前页面上的给定EditText,我不希望他能够导航到下一个。
另一种情况:如果用户当前在第1页,并且如果hi填充了具有特定值的给定EditText并且用户从右向左翻转,我希望他直接进入第5页而不是第2页。 / p>
答案 0 :(得分:0)
“翻转”是指用手指拖动还是仅使用ViewPager进行动画制作?
如果是前者,则必须动态编辑ViewPager的子项以获得所需的效果。您可以覆盖onInterceptTouchEvent()
以阻止触摸事件,直到页面完成。
但是,我建议在ViewPager中禁用手指拖动(可能使用onInterceptTouchEvent()
),然后使用setCurrentItem(4, true)
显示动画并导航到特定页面。您需要的逻辑可以使用调用setCurrentItem(4, true)
的按钮来实现。例如,您可以拥有“Next->”除非表单完全完成,否则显示为灰色的按钮。无论如何,这将比第一个选项更直观。
编辑:4只是您要切换到的任何子索引。