Как я могу исправить небезопасное использование обнуляемой ошибки получателя? - PullRequest
0 голосов
/ 07 ноября 2019

Код A из образцов камеры .

Но компилятор Android Studio отображает следующую предупреждающую информацию

Небезопасное использование обнуляемого приемника типа Array?

Как это исправить?

Код A

private lateinit var mediaList: MutableList<File>

override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)  
        val rootDirectory = File(args.rootDirectory)

        mediaList = rootDirectory.listFiles { file ->
            EXTENSION_WHITELIST.contains(file.extension.toUpperCase())
        }.sorted().reversed().toMutableList()
    }

Ответы [ 2 ]

2 голосов
/ 07 ноября 2019

Хотя я не могу воспроизвести вашу проблему, вы можете попробовать добавить ? в конце объекта, который не является 100% не нулевым.

После этого вам нужно обработать случай, если объектдействительно пусто (укажите значение по умолчанию).

Например:

val list: List<String>? = null
val firstValue = list?.first() ?: "default value"

В приведенном выше примере код не будет компилироваться только с list.first()

Надеюсь, что этопомогает.

1 голос
/ 07 ноября 2019

попробуйте добавить isInitialized check

if(this::mediaList.isInitialized ){

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...