実行時にページを追加および削除するための指示を受け取るViewPagerに基づくAndroidアプリケーションを作成しようとしています。タブ付きのブラウザエクスペリエンスとほぼ同じように、現在のタブを削除したり、特定のタブを削除したりできます。
Googleのドキュメントに従って、FragmentStatePagerAdapterを使用します。これは、ページ数が多い状況で使用することを目的としており、リストビューのように機能します。
しかし、次のことを試みた場合:-画面上にないページを削除します-同じクラスから新しいフラグメントオブジェクトを作成します-削除されたページの同じ位置にAndroidプラットフォームがデッドページを回復し、それを表示することに気づきましたユーザーに。作成したばかりの新しいオブジェクトは、「onCreate」、「onCreateView」、または「onActivityCreated」を実行しません。
この問題を修正して、プラットフォームに同じクラスの新しいフラグメントオブジェクトを使用させる方法を探しています。何か案は?
現在のページを破棄すると、プラットフォームが実際にページを破棄し、同じクラスから新しいオブジェクトを作成したことがわかりました。これは、問題とこの動作を再現した小さな例です。
ソース:http ://dl.dropbox.com/u/8333012/SimpleAdapter/SimplePager.zip
ビデオ:http ://www.youtube.com/watch?v = -oaXXwU8PSI&hd = 1
このプロジェクトから、最初のページのTextViewをタッチすると、2番目のページ(緑色)が新しい青色のページに削除されるように設計されています。最初のページからそれを行っても、2番目のページは緑色のままであることがわかります。ただし、2番目のページ(緑色)のAndroidに戻るボタンを押して、TextViewをタッチすると、作成された2番目のページは正しい青色になります。