【问题标题】:Empty text in a spark RichTextSpark RichText 中的空文本
【发布时间】: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;
        }

然后在另一个函数中,我正在更改beforeResultsearchResultafterResult 中的文本,但由于某种原因,我在控件中获取的文本是空的!我错过了什么?如果可以帮助找到问题,我可以添加更改文本的代码,但基本上它只是beforeResult.text=... 然后labelField.textFlow.flowComposer.updateAllControllers();

感谢您的帮助。

【问题讨论】:

  • 据我在您的代码中看到的,没有任何内容将该段落绑定到您的标签,因此您没有理由看到任何内容...顺便说一句,以确保更新不起作用,初始化结果片段时尝试设置默认文本
  • 但我有:var textFlow:TextFlow=labelField.textFlow;textFlow.addChild(paragraphElement);。它不会使段落绑定到标签的文本流吗?
  • 是的,但它不会自动更新,而是由控制器负责。取消注释 new ContainerController...addController 并重试
  • 还是不行,只显示我给它的初始文本...

标签: apache-flex flex4 flex-spark


【解决方案1】:

我认为您可能以错误的方式执行此操作。不要尝试使用分配给Label 的现有TextFlow 对象,而是创建一个全新的TextFlow 对象,然后将其设置在Label 上。这是我记得随处可见的模式,而且我知道过去效果很好:

所以而不是:

var textFlow:TextFlow=labelField.textFlow;

做:

var textFlow:TextFlow = new TextFlow();

然后,用文本填充 TextFlow 后,将 TextFlow 分配给标签:

labelField.textFlow=textFlow;

也许可以按原始方式进行,但您必须深入研究 Label 和/或 TextFlow 类的内部结构以确定它为什么不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多