Похоже, поведение, которое вы хотите создать, довольно сложное и выходит за рамки стандартных возможностей Spinner. Я бы предложил создать новую активность для этого. Тогда вы можете легко управлять пользовательским интерфейсом по мере необходимости.
Вы можете использовать Activity.startActivityForResult () для возврата значения из одного действия в другое.