2012-05-16 52 views
1

我已經使用ViewPager讓用戶左右翻動以在給定活動的頁面之間導航。動態查看頁面流量

是否可以通過編程方式控制ViewPager的頁面流?

例如: 如果用戶沒有在當前頁面上填寫給定的EditText,我不希望他能夠導航到下一個。

另一種情況:如果用戶當前在第1頁上,並且如果用特定值填充給定的EditText並且用戶從右向左翻轉,我希望他直接進入第5頁而不是第2頁。

回答

0

「翻轉」是指用手指拖動還是僅使用ViewPager進行動畫?

如果是前者,則必須動態編輯ViewPager的子項才能獲得所需的效果。您可以覆蓋onInterceptTouchEvent()以阻止觸摸事件,直到頁面完成。但是,我建議在ViewPager中禁用手指拖動(可能使用onInterceptTouchEvent()),然後使用setCurrentItem(4, true)來顯示動畫並導航到特定頁面。您需要的邏輯可以使用將調用setCurrentItem(4, true)的按鈕來實現。例如,除非表單完全完成,否則您可以使用「下一步」按鈕,該按鈕呈灰色顯示。無論如何,這將比第一個選項更直觀。

編輯:4只是你想要切換到的任何子索引。