You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/06/01 02:52:39 UTC

[02/16] incubator-weex git commit: * [android] ignore fire the oninput event after setText called

* [android] ignore fire the oninput event after setText called


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f76394ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f76394ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f76394ae

Branch: refs/heads/0.13-dev
Commit: f76394ae1d2dccf02d3c23b577db4490240dc597
Parents: 9e93fc6
Author: moxun.ljf <fu...@foxmail.com>
Authored: Wed May 3 16:09:57 2017 +0800
Committer: moxun.ljf <fu...@foxmail.com>
Committed: Wed May 3 16:09:57 2017 +0800

----------------------------------------------------------------------
 .../taobao/weex/ui/component/AbstractEditComponent.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f76394ae/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
index c5aa02b..7cc54ee 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
@@ -73,6 +73,7 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
   private List<TextView.OnEditorActionListener> mEditorActionListeners;
   private boolean mListeningKeyboard = false;
   private SoftKeyboardDetector.Unregister mUnregister;
+  private boolean mIgnoreNextOnInputEvent = false;
 
   public AbstractEditComponent(WXSDKInstance instance, WXDomObject dom, WXVContainer parent, boolean isLazy) {
     super(instance, dom, parent, isLazy);
@@ -155,6 +156,7 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
 
     editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, WXStyle.getFontSize(getDomObject().getStyles(),getInstance().getInstanceViewPortWidth()));
     editText.setText(getDomObject().getAttrs().optString(Constants.Name.VALUE));
+    mIgnoreNextOnInputEvent = true;
   }
 
 
@@ -224,10 +226,15 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
             return;
           }
 
+          mBeforeText = s.toString();
+
+          if (mIgnoreNextOnInputEvent) {
+            mIgnoreNextOnInputEvent = false;
+            return;
+          }
+
           String event = domObject.getEvents().contains(Constants.Event.INPUT) ? Constants.Event.INPUT : null;
           fireEvent(event, s.toString());
-
-          mBeforeText = s.toString();
         }
 
         @Override
@@ -442,6 +449,7 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
 
     view.setText(value);
     view.setSelection(value == null?0:value.length());
+    mIgnoreNextOnInputEvent = true;
   }
 
   @WXComponentProp(name = Constants.Name.COLOR)