2017-04-17 4 views
-1

私は、recyclerViewにリストを表示するフラグメントを持っています。アイテムの1つをクリックすると、新しいフラグメントが開きます。これらのフラグメントは同じデータベースを使用しているので、私はReadableDatabaseをonCreateViewで取得し、onDestroyViewでそれを閉じたいと思っています。それは正しい方法ですか? また、ユーザーが再びスクロールする必要がないので、古いフラグメントを保持したいので、トランザクションの代わりにaddを使用したいので、古いフラグメントはユーザーが戻っても同じ状態になります。それもそれを行う正しい方法ですか?活性のような、いくつかの違いがフラグメント内でどのライフサイクルイベントが呼び出されますか?

答えて

0

ほとんど同じイベント:

次のように(source)フラグメントについて

0

ライフサイクルイベントは、次のとおり

(フラグメントが発売) - >onAttach - >onCreate - >onCreateView - >onActivityCreated - >onStart - >onResume - >onResume - >(フラグメント現在アクティブ) - > - >onStop - >onDestroyView - >onDestroy - >onDetach - >(フラグメント破壊)

あなたはライフサイクルhereについての詳細を読むことができます。

onCreateでデータベースを取得し、onStopで終了します。あなたはonDestroyにタスクを入れないようにしたいのですが、それはすぐに実行するほうが良いからです。

+0

私が理解する限り、onStop:別のアクティビティが再開され、これをカバーしているため、アクティビティがユーザに見えなくなったときに呼び出されます。 後でデータベースを再初期化する必要がありますか? – newToEverything

+0

'onStop'コールバックはアクティビティの' onStop'コールバックにアタッチされますが、フラグメントが削除または置換された場合にもトリガされます。 –

関連する問題