1

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

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

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

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

4

1 回答 1

0

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

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

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

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

于 2012-08-19T03:04:05.770 回答