Android 如何确定数组是否为空?

Android 如何确定数组是否为空?,android,arrays,kotlin,Android,Arrays,Kotlin,我有一个布尔标志,我必须func(有趣的动画和有趣的重新动画-这是两个可绘制图形之间的过渡)。 这是两个图形之间的过渡 这门课的理念是我有两面硬币。我在数组中添加了它。若数组为空,我只调用动画,若它不为空,我首先调用复活,然后调用动画 我的阵列: var arrayShape: Array<Drawable>? = null 这是标志法 fun isArrayEmpty(array : Array<Drawable>):Boolean { return arr

我有一个布尔标志,我必须func(有趣的动画和有趣的重新动画-这是两个可绘制图形之间的过渡)。 这是两个图形之间的过渡

这门课的理念是我有两面硬币。我在数组中添加了它。若数组为空,我只调用动画,若它不为空,我首先调用复活,然后调用动画

我的阵列:

 var arrayShape: Array<Drawable>? = null
这是标志法

fun isArrayEmpty(array : Array<Drawable>):Boolean {
    return array.size > 1 && array[0] !=null
  }
当我运行项目并单击fShape时,它会显示NPE(kotlin.KotlinNullPointerException)
并且project已停止

您必须对数组使用安全调用,因为它可以为空。当它为空时,还提供一个默认值

if(arrayShape?.isEmpty() ?: true)

您必须对数组使用安全调用,因为它可以为null。当它为空时,还提供一个默认值

if(arrayShape?.isEmpty() ?: true)

你可以这样使用。。。因为null不可能,也不适合列表或任何集合(没有数组),所以可以借助ArrayList实现您的解决方案

 val arrayShape = ArrayList<Drawable>()

    if (arrayShape.isEmpty())
        Toast.makeText(this, "Array is Empty", Toast.LENGTH_LONG).show()
    else
        Toast.makeText(this, "Array is not Empty", Toast.LENGTH_LONG).show()
val arrayShape=ArrayList()
if(arrayShape.isEmpty())
Toast.makeText(这个“数组为空”,Toast.LENGTH\u LONG.show()
其他的
Toast.makeText(这个“数组不是空的”,Toast.LENGTH\u LONG.show()

您可以这样使用。。。因为null不可能,也不适合列表或任何集合(没有数组),所以可以借助ArrayList实现您的解决方案

 val arrayShape = ArrayList<Drawable>()

    if (arrayShape.isEmpty())
        Toast.makeText(this, "Array is Empty", Toast.LENGTH_LONG).show()
    else
        Toast.makeText(this, "Array is not Empty", Toast.LENGTH_LONG).show()
val arrayShape=ArrayList()
if(arrayShape.isEmpty())
Toast.makeText(这个“数组为空”,Toast.LENGTH\u LONG.show()
其他的
Toast.makeText(这个“数组不是空的”,Toast.LENGTH\u LONG.show()

看起来您从未将
arrayShape
设置为除null以外的任何值。不要使用
在某个东西上。此外,
array[0]!=null
将始终为true,因为
Drawable
不是可为null的类型(除非它是可为null类型的一个棘手别名)。看起来您从未将
arrayShape
设置为null以外的任何值。不要使用
在某个东西上。此外,
array[0]!=null
将始终为true,因为
Drawable
不是可为null的类型(除非它是可为null类型的复杂别名)。