A workaround that's not yet listed here is OnTouchListener:
(Kotlin)
spinner.setOnTouchListener { _, event -> if(event.action == MotionEvent.ACTION_DOWN) { doSomething() } true //consume event }