【お知らせ】みんプロ式Flutter講座は2026年4月末をもって新規販売を終了いたします。詳しくはこちら →
[Android]onActivityCreatedメソッドはFragmentライブラリのバージョン1.3.0以降は非推奨に(原則onViewCreatedで)
このページには広告が含まれる場合があります。
Androidのフラグメント(Fragment)にはActivityとは異なる独自のライフサイクルメソッドがあります。

フラグメントは、Android アプリの UI の再利用可能な部分を表します。独自のレイアウト、ライフサイクル、入力イベントを定義して管理し、アクティビティまたは別のフラグメントによってホストされる必要があります。
その中で、ひっつき元の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でいいよ)
(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)





