【问题标题】:Flex text inserted into TextArea causes application to hang插入 TextArea 的 Flex 文本导致应用程序挂起
【发布时间】:2011-06-05 02:39:07
【问题描述】:

我正在尝试使用以下方法将数据库中的文本插入自定义 TextArea 组件:

var front:CaptionTextArea = myFlashcardFrontsides[adjIndex] as CaptionTextArea;
var back:CaptionTextArea = myFlashcardBacksides[adjIndex] as CaptionTextArea;
var passage:CaptionTextInput = myVersePassages[adjIndex] as CaptionTextInput;
front.text = passage.text;
back.text = str;

这对于较小的字符串 100% 有效。但是,如果我插入长文本字符串,应用程序将始终挂起。 textarea的maxchars设置为1200,插入到文本区域的文本总是小于字符限制:

backside.maxChars = 1200;

如何解决这个问题?

【问题讨论】:

    标签: apache-flex actionscript textarea


    【解决方案1】:

    我解决了这个问题,我所要做的就是将我的 TextArea 从 Spark TextArea 更改为 MX TextArea:

    //  import spark.components.TextArea; DON'T USE: SPARK TEXT AREA CAUSES A BUG WHEN PROGRAMATICALLY INSERTING LONGER TEXT STRINGS
    import mx.controls.TextArea;
    
    public class CaptionTextArea extends TextArea
    

    似乎有一个 Adob​​e 错误导致我的应用程序在以编程方式将长文本字符串插入到较新的文本区域时冻结。

    【讨论】:

    • 真的有adobe bug吗?您是否尝试过查看 Spark TextArea 代码以找出问题所在?您可以在 bugs.adobe.com 上找到任何其他有关该错误的文档吗?你知道 spark text 使用 TLF 吗?你想设置什么样的字符串?似乎有点为时过早,因为我已经使用 Spark 文本很长一段时间没有问题。
    • 你说得对,我还没有检查过这个特定问题的 bug 存储库,但我过去曾遇到过其他(记录在案的)Spark 错误,特别是 Spark 文本区域。我可能对这个问题本身对 Adob​​e 感到沮丧,但很难解释为什么插入相同的字符串可以使用 MX 文本区域而不是 Spark。
    【解决方案2】:

    我现在自己也面临这个问题。 我认为问题是,当您向 TextArea 添加长文本(以至于出现滚动条)并且它尚未出现在舞台上时,会引发错误。我相信该组件在将滚动条添加到容器时存在问题。 mx:TextArea 有效,但它不适合设置组件的样式,所以如果 apache (?) 修复它会很好。

    【讨论】:

    • 这是答案还是评论?
    • 这只是我在使用 TextArea 时发现的一些东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多