插入TextArea的Flex文本会导致应用程序挂起

时间:2011-06-05 02:39:08

标签: flex actionscript textarea

我正在尝试使用以下内容将数据库中的文本插入到自定义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;

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我解决了这个问题,我所要做的就是将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

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

答案 1 :(得分:0)

我现在正面对这个问题。 我认为问题是,当你向TextArea添加一个长文本(这么长的滚动条出现)并且它还没有在舞台上时,会抛出错误。我相信该组件在将滚动条添加到容器时会出现问题。 mx:TextArea有效,但它不适合样式化组件,所以如果apache(?)修复它会很好。