NullPointerException в котлин и анко

Я новичок в Kotlin и Anko. Я узнал, что Kotlin абсолютно безопасен, но приведенный ниже код вызовет NullPointerExceptionЯ не знаю почему, кто-то может мне это объяснить?

intent.extras["Key"]?.toString()

textView(intent.extras["Key"]?.toString() ?: "Nothing") 
.lparams(wrapContent, wrapContent)

2 ответа

Ну, есть много комментариев, но для начала вы должны сначала проверить, передано ли вам намерение, иначе оно будет нулевым, так что один NPE здесь, а также я думаю, что вы должны проверить, если TextView является нулевым (хотя я не использую Anko)..

Например:

intent?.extras["Key"]?.toString()?:"empty" 

или же

intent?.extras?.get("key")?.toString()?:"empty" 

Пожалуйста, предоставьте ваш журнал исключений для дальнейшего расследования (^^) Cheers

Похоже, я должен проверить, если дополнения нулевые в первую очередь Затем я изменил свой код на:

intent.extras?.get ("ключ")?. ToString()?:"пустой"

Работает нормально!

Эта строка: intent.extras["Key"] небезопасна!

Другие вопросы по тегам