ユーザーがフラグメントに入力したデータをファイルに保存しようとしています。ViewPagerページの変更時のデータ保存
シナリオ: 1 viewpager及び7つの断片
ユーザは、フラグメント0で開始し、スワイプtabhostを使用するか、またはユーザが他のフラグメントに切り替えることができ、フローティング矢印を押すことによってedittexts、 にテキストを入力することができます。
ユーザーが上記の方法で残す断片の入力済みのテキストを保存します。
私はOnPageChangeListener
を試しましたが、前のタブは表示されません。私は実装方法の値を記録したonPageScrolled, onPageSelected, onPageScrollStateChanged
。
これらのどれも私のニーズにはうまくいかないようです。
onPageScrolled
を数回呼ばれ、それが画面になるまでオフセットが異なる場合、現在のタブのみを表示していないが、常に0.0ことから始まり、私は確実にこれを使用することはできませんされています。
onPageSelected
は唯一の信頼できるものですが、唯一の新しい現在のタブを返し
onPageScrollStateChanged
は私もViewPager
にonInterceptTouchEvent
に見えたが、これはまた、いくつかの時間である私は、タブに
を決定するために使用できる情報がありません何回か(MOVEイベントのために)呼び出され、すべてのタブで常に機能するとは限りません。
この費用を効率的に使用する方法はありますか?私は暗号化されたファイルにデータを保存したいので、これを何度もやりたくはありません。
全体の質問をお読みください現在のフラグメントが変更されたときに情報を暗号化されたファイルに保存したいので、変更する必要はありません。 – Ben
あなたが 'fragment.onPause()'でそれをやろうとしましたが、それが見えなくなる前に呼び出されましたか? – k3b