I have an Adapter which extends from ArrayAdapter in order to fill one Spinner with one collections of objects (City). Both all objects and adapter work correctly, at least
Try adding marginEnd to the spinner. The spinner does not have enough room to open the downwards.
This would happen if the item which inflates the spinner is close to the bottom of the screen. Since the spinner would not have enough room (or just barely enough room) if inflated downward, it is inflated upward instead. Try putting the spinner higher (vertically) in the layout.