diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index c8d2f05c5b57cf..ca5d7ac7413d0e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -375,11 +375,19 @@ public void maybeSetText(ReactTextUpdate reactTextUpdate) { new SpannableStringBuilder(reactTextUpdate.getText()); manageSpans(spannableStringBuilder); mContainsImages = reactTextUpdate.containsImages(); + boolean sameText = sameTextForSpan(getText(), spannableStringBuilder, 0, length()); mIsSettingTextFromJS = true; getText().replace(0, length(), spannableStringBuilder); mIsSettingTextFromJS = false; + if (!sameText) { + InputMethodManager imm = (InputMethodManager) getContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm != null) { + imm.restartInput(this); + } + } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (getBreakStrategy() != reactTextUpdate.getTextBreakStrategy()) { setBreakStrategy(reactTextUpdate.getTextBreakStrategy());