Если вы уверены, что в вашем пустом массиве не будет значений null
, вы можете просто (небезопасно) привести его, и он будет работать, например:
val myListAdapter = MyListAdapter(activity!!,list_names as Array<String>,list_types,list_images)
Если у вас есть null
значения там немного зависит. Один из подходов состоит в том, чтобы сначала отфильтровать null
-значения и передать результирующий массив, например:
list_names.filterNotNull().toTypedArray()
// or in case you have different types in there and want only want a single matching one:
list_names.filterIsInstance<String>().toTypedArray()
Но если вы можете: попытайтесь опустить удержание этого массива обнуляемого типа в первую очередь. Разве вы не можете просто отфильтровать нулевые значения и собрать только ненулевые значения? Это, вероятно, самый простой и хороший способ собрать имена как Array<String>
, например:
val list_names = plant_list.mapNotNull { it.name }.toTypedArray()