[Android] ‘onCreateView’ overrides nothingの対処法(自動生成されたメソッドがKotlinのバージョンアップでエラーになってしまう)

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

 

Android Studioのプロジェクトレベルのbuild.gradleファイルから、Kotlinのバージョンを上げたときに(下の例では1.3.21にバージョンアップ)

 

これまで何の問題も発生していなかった、Fragment内で自動生成されるライフサイクルメソッドの1つである「onCreateView」メソッドに突如赤線が入り、

'onCreateView' overrides nothing

と言われてビルドエラーになってしまう場合があります。

自動生成されているコードやのに何でやね~ん!?って感じですよね。

この対処法です。

 

Kotlinのバージョンアップによってライフサイクルメソッドの引数に細か~い変更があったから

このエラー発生の原因は、

  • Kotlinのバージョンアップによって、onCreateViewメソッドの引数に細か~い変更が生じたために
  • すでに書いてあるonCreateViewメソッドとシグネチャ(メソッド名と引数名)が一致せず、
  • 何も継承しない状態になってしまった

ということのようです。

 

Kotlinのバージョンアップ前

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {

 

Kotlinのバージョンアップ後

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

 

これ、違いわかります??

 

実は、第一引数のクラスの型である「LayoutInflater」の後ろにある「?」が要らなくなったんですよ~!!

 

 

ですよね??(つまり、null許容じゃなくなったってことですね)

 

だから、この「?」取ってあげたら

 

ほら、エラー消えたでしょ。

 

というわけでございます。

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

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

イチオシ

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

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

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

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

TOP