2017-08-08 11 views
0

JavaからランチャーアクティビティをKotlinに変換しましたが、onCreate()でクラッシュしました。クラッシュする理由を理解できません。onCreate JavaからKotlinに変換した後にクラッシュする

のJava:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

Kotlin:

override fun onCreate(savedInstanceState: Bundle?) { 
super.onCreate(savedInstanceState) 

コールスタック:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.a.b.c/com.a.b.c.Authentication.AuthenticationActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                     at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:148) 
                     at android.app.ActivityThread.main(ActivityThread.java:5417) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                    Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState 
                     at com.a.b.c.Activity.AppLifecycleTracker.onActivityCreated(AppLifecycleTracker.kt) 
                     at android.app.Application.dispatchActivityCreated(Application.java:195) 
                     at android.app.Activity.onCreate(Activity.java:922) 
                     at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:277) 
                     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85) 
                     at com.a.b.c.Authentication.AuthenticationActivity.onCreate(AuthenticationActivity.kt:147) 
                     at android.app.Activity.performCreate(Activity.java:6251) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
                     at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
                     at android.os.Handler.dispatchMessage(Handler.java:102)  
                     at android.os.Looper.loop(Looper.java:148)  
                     at android.app.ActivityThread.main(ActivityThread.java:5417)  
                     at java.lang.reflect.Method.invoke(Native Method)  
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
+0

あなたのonCreate()に他に何かありますか? – creativecreatorormaybenot

+0

あなたの活動の名前は何ですか? – Bob

+0

AuthenticationActivity.ktとマニフェストファイルは、このエントリがあります:<アクティビティ アンドロイド:名= "Authentication.AuthenticationActivity。" アンドロイド:configChangesは= "keyboardHidden |オリエンテーション|画面サイズを| uiMode" アンドロイド:screenOrientation = "sensorPortrait" アンドロイド:テーマ: "@スタイル/ AppTheme.Simple" ツール:ignore = "InnerclassSeparator"> Harish

答えて

2

AppLifecycleTracker方法onActivityCreatedように見えますがsavedInstanceState: Bundle?あるべきパラメータsavedInstanceState: Bundleを、持っています、必ずしも保存された状態のavailabこれは、パラメータ値がnullであることを意味します。 Kotlinはこれを確認してnull safetyを保証します。

クラッシュは、アクティビティ自体の変換とは無関係のようです。

+0

Facepalm :)私はAppLifecycleTrackerを別の場所に上書きしました。私はそれを完全に忘れました。今、うまく働いて、ありがとう。 – Harish

関連する問題