我試圖保存用戶輸入到文件片段中的數據。當ViewPager頁面變化時保存數據
場景: 一個viewpager和7個片段
用戶啓動在片段0,並且可以通過滑動,使用tabhost或按壓浮動箭頭用戶可以切換到其它片段文本輸入到edittexts, 。
我想用上面的方法保存用戶離開片段的輸入文本。
我試過OnPageChangeListener
,但在那裏我不能得到以前的選項卡。我記錄了實施方法的值onPageScrolled, onPageSelected, onPageScrollStateChanged
。
非這些似乎符合我的需求。
onPageScrolled
被調用多次,僅顯示當前標籤,直到它是屏幕的,偏移量是不同的,並且不總是由0.0開始,所以我不能可靠地使用此。
onPageSelected
是唯一可靠的人,但只返回當前新標籤
onPageScrollStateChanged
沒有信息,我可以用它來確定選項卡
我也看了成onInterceptTouchEvent
在ViewPager
但這也是一些時間多次調用(對於MOVE事件),並不總是適用於每個選項卡。
有沒有辦法讓這個成本高效?我想將數據存儲在一個加密文件中,不想多次執行此操作。
使用viewPager.setOffscreenPageLimit(6); –
請閱讀我想在當前片段更改時將信息存儲在加密文件中的整個問題,因此我不需要更改該信息。 – Ben
你是否試圖在'fragment.onPause()'中調用它,它在它變爲不可見之前被調用? – k3b