如何将LinkElement插入Flex移动项目中的段落?

时间:2012-07-27 16:01:23

标签: flex air adobe flash-builder

大家好。
我正在开发一个关于Flex的移动项目 一旦我从互联网上获得一个段落,我需要识别该段落中的特定字符串(可能不会只出现一次)并使其可单击以触发flex项目中的其他功能。

我知道“LinkElement”有帮助,例如此网址的内容: http://bbs.9ria.com/forum.php?mod=viewthread&tid=42640 代码就像

var p:ParagraphElement=new ParagraphElement();
var tf:TextFlow=new TextFlow();
var nameLink:LinkElement=new LinkElement();
var nameSpan:SpanElement=new SpanElement();

nameSpan.text="LINK_TEXT";
nameLink.addChild(nameSpan);
p.addChild(nameLink);
//////////////////////////////////////////////////////
tf.addChild(p);
rt.textFlow=tf;
nameLink.addEventListener(FlowElementMouseEvent.CLICK, link_click_handler);

<s:RichEditableText editable="false" selectable="false" id="rt/>

然而,只有一个简单的链接文本,但我希望在同一行中有其他普通文本(没有链接) 我想要的效果可以通过html轻松实现:

<p>
  unlinked_text1
  <a>linked_text</a>
  unlinked_text2
</p>

我试过在“////////////////”的地方添加另一个无关联的孩子 但它没有用。
有没有解决方案?
这似乎并不那么难,但我无法做到。

提前感谢任何sol,请帮助我!!

1 个答案:

答案 0 :(得分:0)

ParagraphElement对象可以包含以下类型的子对象:SpanElementLinkElementInlineGraphicElementTCYElement

那么为什么不在你的段落中添加额外的SpanElements,其中包含正常(非链接)文本:

var regularText:SpanElement = new SpanElement();
regularText.text = "this is some regular text";
paragraphElement.addChild(regularText);

如果您已经尝试过,请显示您的代码,以便我们为您提供进一步的帮助。