diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java index 2871cd212..a5e4a12b7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java @@ -79,6 +79,10 @@ public class ReactPicker extends Spinner { public void setOnSelectListener(@Nullable OnSelectListener onSelectListener) { if (getOnItemSelectedListener() == null) { + // onItemSelected gets fired immediately after layout because checkSelectionChanged() in + // AdapterView updates the selection position from the default INVALID_POSITION. To match iOS + // behavior, we don't want the event emitter for onItemSelected to fire right after layout. + mSuppressNextEvent = true; setOnItemSelectedListener( new OnItemSelectedListener() { @Override