¿Cómo saber si una matriz está vacía?

Tengo una bandera booleana y tengo que func (animation divertida y reinimación divertida: es la transición entre dos encantos). Esta es la transición entre los dos dibujos

Idea de esta class es que tengo dos lados de monedas. Lo agregué en una matriz. Si la matriz está vacía, solo llamo a la animation, si no está vacía, primero llamo a re-animation y luego a animation.

Mi arreglo:

var arrayShape: Array<Drawable>? = null 

es una parte del método OnCreate.

 override OnCreate() ... if(isArrayEmpty(arrayShape!!)) shapeReAnimation() randomShape() 

es un método de bandera

 fun isArrayEmpty(array : Array<Drawable>):Boolean { return array.size > 1 && array[0] !=null } 

y alguna reencarnación de diversión futura () que ahora debería mostrar algunos Toast.

 fun shapeReAnimation() { // if (arrayShape!![0] == resources.getDrawable(R.drawable.back_circle)) ToastUtils.showErorMessage(context, "first") } 

cuando ejecuto mi proyecto y hago clic para fShape, me muestra NPE (kotlin.KotlinNullPointerException) y el proyecto se ha detenido

Debe usar la llamada segura en la matriz, ya que puede contener nulos. También proporcione un valor pnetworkingeterminado cuando es nulo.

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

Puede usarlo así … porque nulo no es posible y no es aconsejable para la list o cualquier colección (sin matriz), por lo que puede lograr su solución con la ayuda de 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()