From 49bcb5e6df535dd353c3da6d2c7639c15d75f5b6 Mon Sep 17 00:00:00 2001 From: yulun Date: Mon, 16 Nov 2020 20:32:39 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix=20=E5=8D=8E=E4=B8=BA=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E4=B8=8A=20=E5=88=A0=E9=99=A4=E5=AF=8C=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E7=9A=84bug=EF=BC=8Cdemo=E5=8F=AF=E5=A4=8D=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/extended_editable_text.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/extended_editable_text.dart b/lib/src/extended_editable_text.dart index 2af7ac6..a125532 100644 --- a/lib/src/extended_editable_text.dart +++ b/lib/src/extended_editable_text.dart @@ -889,6 +889,10 @@ class ExtendedEditableTextState extends State return; } + // 如果上一个系统更新的值和这次的值相等,不做更新处理,华为p系列手机会连续调2次updateEditingValue + if (value.text == (_lastKnownRemoteTextEditingValue?.text ?? "") ) + return; + value = _handleSpecialTextSpan(value); if (value.text != _value.text) { _hideSelectionOverlayIfNeeded(); From d60e865c9a941011bfcea00870e5a2e76d1c4ec1 Mon Sep 17 00:00:00 2001 From: yulun Date: Thu, 19 Nov 2020 16:11:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix=20=E5=8D=8E=E4=B8=BAp=E7=B3=BB=E5=88=97?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=88=A0=E9=99=A4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/extended_editable_text.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/extended_editable_text.dart b/lib/src/extended_editable_text.dart index a125532..d76f637 100644 --- a/lib/src/extended_editable_text.dart +++ b/lib/src/extended_editable_text.dart @@ -890,7 +890,8 @@ class ExtendedEditableTextState extends State } // 如果上一个系统更新的值和这次的值相等,不做更新处理,华为p系列手机会连续调2次updateEditingValue - if (value.text == (_lastKnownRemoteTextEditingValue?.text ?? "") ) + // 不能用text直接拦截,还需要考虑composing和selection + if (_lastKnownRemoteTextEditingValue != null && value == _lastKnownRemoteTextEditingValue) return; value = _handleSpecialTextSpan(value);