[Android]onActivityCreatedメソッドはFragmentライブラリのバージョン1.3.0以降は非推奨に(原則onViewCreatedで)

このページには広告が含まれる場合があります。

 

Androidのフラグメント(Fragment)にはActivityとは異なる独自のライフサイクルメソッドがあります。

その中で、ひっつき元のActivityのonCreateメソッドが完了した際に呼び出されるonActivityCreatedメソッドというのが存在し、Fragment上のViewの操作や、LiveDataの監視(observe)等はこのメソッド内で行うことがGoogle先生の公式リファレンスやサンプルコードでもなされていました。

ところが、なんとこのonActivtyCreatedメソッドがFragmentのバージョン1.3.0以降は非推奨となりました(現時点の安定版は1.2.5のようなので、そのうち非推奨となります)。

  • onActivityCreated() メソッドは非推奨になりました。フラグメントのビューをタッチするコードは onViewCreated()onActivityCreated() の直前に呼び出される)、他の初期化コードは onCreate() で実行する必要があります。アクティビティの onCreate() が完了した際にコールバックを受け取るには、onAttach() のアクティビティの Lifecycle に LifeCycleObserver を登録し、onCreate() のコールバックを受け取ったら削除する必要があります。 (b/144309266
    • https://developer.android.com/jetpack/androidx/releases/fragment#1.3.0-alpha02

じゃあ、どうしたらいいのかというと、

原則onActivityCreatedメソッドで行っていたことは、onViewCreatedメソッドで行えばいい

ことのようです。

Google先生からのissue trackerにもそのような回答がなされています。

(Fragment上のViewの操作はonViewCreatedでいいよ)

(LiveDataの監視もonViewCreatedでいいよ)

https://issuetracker.google.com/issues/125158199

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

イチオシ

40代から感じるモヤモヤを解消できる 無料動画セミナー

あすコロ式・40代からの人生アップデート【新】戦略

アラフォーでキャリアを失ったバリバリ左脳人間・スピリチュアル耐性ゼロの元金融マンが、人生どん底から立ち上がる過程でたどり着いた「人生再構築メソッド」。40代・50代を過ぎて多くの人が感じる「このままでいいんかな?」「この先どうしたらいいかわからない」というモヤモヤを解消し、人生後半戦をアップデートさせる【新】戦略。

今すぐ無料で動画セミナー(80分)を見る ▶

TOP