簡體   English   中英

Flex移動-Spark Chechbox錯誤

[英]Flex mobile - Spark Chechbox Error

我正在使用Flex SDK 4.6,當我嘗試在舞台上添加spark復選框時,發生了非常奇怪的錯誤:

var cb:CheckBox = new CheckBox();
optionsList.addElement(cb);

TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 在spark.skins.mobile上的spark.skins.mobile::CheckBoxSkin/drawBackground()[E:\\dev\\4.y\\frameworks\\projects\\mobiletheme\\src\\spark\\skins\\mobile\\CheckBoxSkin.as:162]中。 supportClasses :: MobileSkin / updateDisplayList()[m:.UI:/ UIComponent / validateDisplayList(E:\\ dev \\ 4.y \\ frameworks \\ projects \\ mobiletheme \\ src \\ spark \\ skins \\ mobile \\ supportClasses \\ MobileSkin.as:313] )[E:\\ dev \\ 4.y \\ frameworks \\ projects \\ framework \\ src \\ mx \\ core \\ UIComponent.as:8999]在mx.managers :: LayoutManager / validateDisplayList()[E:\\ dev \\ 4.y \\ frameworks \\ projects \\ framework \\ src \\ mx \\ managers \\ LayoutManager.as:736],位於mx.managers :: LayoutManager / doPhasedInstantiation()[E:\\ dev \\ 4.y \\ frameworks \\ projects \\ framework \\ src \\ mx \\ managers \\ LayoutManager.as:819],位於mx.managers :: LayoutManager / doPhasedInstantiationCallback()[E:\\ dev \\ 4.y \\ frameworks \\ projects \\ framework \\ src \\ mx \\ managers \\ LayoutManager.as:1180]

在MXML中創建chechbox時沒有問題,但是我需要在AS中創建多個實例,然后將它們添加到舞台上。

有人知道我在做什么錯嗎?

我正在發布以消除誤解,該誤解出現在評論中,我相信這是錯誤的根源。 報價:

我檢查了在creationComplete上添加復選框時是否可以正常工作,但在我的情況下,在調用updateDisplayList時在creationComplete之后添加了復選框。

在組件的生命周期中,可能會多次調用updateDisplayList()。 每當屏幕上的某些東西需要更新時,都會調用它。 在調度creationComplete事件之前,updateDisplayList()至少被調用一次,但是在某些情況下,對於某些組件,可以多次調用它。

您共享的代碼有點脫離上下文,但是因為這樣,您最終會有很多復選框。 因為在每次updateDisplayList()迭代之后都會創建一個新的復選框。 我強烈建議您將子級創建移動到createChildren()方法而不是updateDisplayList()。

這是一些有關Spark Flex Component LifeCycle的文檔,以及一些有關MX Component LifeCycle的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM