2012-03-19 15 views
4

私のアプリプロジェクトでフラグメントを使用しています。すべての断片がバックに追加され、スタックバックスタンドからすべての断片を順番に取得

... 
fragmentTransaction.addToBackStack(null); 
... 

その後、順番に戻っスタックからすべてのフラグメントを取得するための正しい方法は何ですか?

答えて

4

getBackStackEntryCount()を使用すると、バックスタックを反復してgetBackStackEntryAt()メソッドを使用して各フラグメントを取得できます。

EDIT: コメントのいくつかの議論に基づいて、バックスタックに追加したフラグメントのリストを手作業で保存し、これらをSharedPreferencesに保持することをお勧めします。その後、アプリケーションの起動時にこのリストを読み込み、これらのフラグメントをリロードすることができます。

+2

しかし、getBackStackEntryAt()を呼び出すときに "BackStackEntry"を取得しました。どのようにフラグメントを取得できますか?私はバックスタックの断片が必要です。 –

+0

申し訳ありませんが、それらのメソッドを使用することができないようです。 BackStackEntryのドキュメントでは、これらの参照を保持しないように注意していますが、手動で参照を手動で保持する必要があります。 http://developer.android.com/reference/android/app/FragmentManager.BackStackEntry.html – Mimminito

+0

達成しようとしていることをお聞かせください。より良い解決策があるかもしれません。 – Mimminito

関連する問題