【发布时间】:2013-09-28 07:21:30
【问题描述】:
我正在构建 RichText 控件的内容:
private function buildLabelTextElements():void
{
beforeResult=new SpanElement();
beforeResult.color=0x000000;
beforeResult.fontWeight=FontWeight.NORMAL;
searchResult=new SpanElement();
searchResult.color=0x9C0836;
searchResult.fontWeight=FontWeight.BOLD;
afterResult=new SpanElement();
afterResult.color=0x000000;
afterResult.fontWeight=FontWeight.NORMAL;
var paragraphElement:ParagraphElement=new ParagraphElement();
paragraphElement.addChild(beforeResult);
paragraphElement.addChild(searchResult);
paragraphElement.addChild(afterResult);
var textFlow:TextFlow=labelField.textFlow;
textFlow.addChild(paragraphElement);
/*var controller:ContainerController=new ContainerController(
labelField);
textFlow.flowComposer.addController(controller);*/
textFlow.flowComposer.updateAllControllers();
//labelField.textFlow=textFlow;
}
然后在另一个函数中,我正在更改beforeResult、searchResult 和afterResult 中的文本,但由于某种原因,我在控件中获取的文本是空的!我错过了什么?如果可以帮助找到问题,我可以添加更改文本的代码,但基本上它只是beforeResult.text=... 然后labelField.textFlow.flowComposer.updateAllControllers();
感谢您的帮助。
【问题讨论】:
-
据我在您的代码中看到的,没有任何内容将该段落绑定到您的标签,因此您没有理由看到任何内容...顺便说一句,以确保更新不起作用,初始化结果片段时尝试设置默认文本
-
但我有:
var textFlow:TextFlow=labelField.textFlow;textFlow.addChild(paragraphElement);。它不会使段落绑定到标签的文本流吗? -
是的,但它不会自动更新,而是由控制器负责。取消注释
new ContainerController...和addController并重试 -
还是不行,只显示我给它的初始文本...
标签: apache-flex flex4 flex-spark