You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2019/04/03 09:46:48 UTC

[incubator-weex] branch master updated: [Android] Fire event when a-label with pseudo_ref is clicked. (#2271)

This is an automated email from the ASF dual-hosted git repository.

kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new f466641  [Android] Fire event when a-label with pseudo_ref is clicked. (#2271)
f466641 is described below

commit f4666415ca5158a16b18e1c7c6ecc8037ea2ef64
Author: zzqgork <49...@users.noreply.github.com>
AuthorDate: Wed Apr 3 17:46:41 2019 +0800

    [Android] Fire event when a-label with pseudo_ref is clicked. (#2271)
    
    If a label is with pseudo_ref , then it will just fire an event, not open a new page.
    Otherwise it will open a new page like normal a label do.
---
 .../com/taobao/weex/ui/component/richtext/node/ANode.java | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/richtext/node/ANode.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/richtext/node/ANode.java
index 4bda872..c61645f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/richtext/node/ANode.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/richtext/node/ANode.java
@@ -22,6 +22,7 @@ import android.content.Context;
 import android.text.SpannableStringBuilder;
 
 import com.taobao.weex.ui.component.richtext.span.ASpan;
+import com.taobao.weex.ui.component.richtext.span.ItemClickSpan;
 
 class ANode extends RichTextNode {
 
@@ -53,10 +54,14 @@ class ANode extends RichTextNode {
   @Override
   protected void updateSpans(SpannableStringBuilder spannableStringBuilder, int level) {
     super.updateSpans(spannableStringBuilder, level);
-    if (attr != null && attr.containsKey(HREF)) {
-      ASpan aSpan = new ASpan(mInstanceId, attr.get(HREF).toString());
-      spannableStringBuilder.setSpan(aSpan, 0, spannableStringBuilder.length(),
-          createSpanFlag(level));
-    }
+      if (attr != null && attr.containsKey(RichTextNode.PSEUDO_REF)) {
+          ItemClickSpan itemClickSpan = new ItemClickSpan(mInstanceId, mComponentRef, attr.get(RichTextNode.PSEUDO_REF).toString());
+          spannableStringBuilder.setSpan(itemClickSpan, 0, spannableStringBuilder.length(),
+                  createSpanFlag(level));
+      } else if (attr != null && attr.containsKey(HREF)) {
+          ASpan aSpan = new ASpan(mInstanceId, attr.get(HREF).toString());
+          spannableStringBuilder.setSpan(aSpan, 0, spannableStringBuilder.length(),
+                  createSpanFlag(level));
+      }
   }
 }