The root cause is that the spinner was initialized many times for every onBindViewHolder(). When the spinner is scrolled out of the screen and scrolled back, onBindViewHolder() is triggered. The spinner selection position was set to the mSavedSpinnerPosition. This is unexpected. Only the first initialization should set the saved position. This fix changes the spinner initialization to be only once. Bug: 265617603 Fix: 265617603 Test: manual Change-Id: I7ebd2b074cf6f560919ceec338eb8fcfaadf4d3a