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"] небезопасна!