I have a TileList that has XML as its dataProvider and is using my
custom itemrenderer to display the data. The itemrenderer has 5
buttons, labeled A, B, C, D, and E. These buttons are intended to
look like the old ScanTron sheets, or like an SAT or ACT answer sheet.
So I need to be able to change one of the buttons at runtime to
appear black if the student has selected the answer before, or set it
black when the student clicks it. I have a style set up,
selectedBtn, which simply sets fillColors to #000000, #000000. If I
set the styleName in a button's XML tag to selectedBtn, the button
will appear dark (though not black--that is a problem for another
day).
However, if I use a.stylename = "selectedBtn", I get
TypeError: Error #1009: Cannot access a property or method of a null
object reference.
at
com.magnoliamultimedia.components::AnswerBubble/com.magnoliamultimedia
.components:AnswerBubble::setIndex()
[C:\Inetpub\wwwroot\Pegasus\SAT_ScoreSheet\src\com\magnoliamultimedia\
components\AnswerBubble.mxml:24]
at
com.magnoliamultimedia.components::AnswerBubble/___AnswerBubble_HBox1_
dataChange()
[C:\Inetpub\wwwroot\Pegasus\SAT_ScoreSheet\src\com\magnoliamultimedia\
components\AnswerBubble.mxml:2]
at
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEv
entFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\core\UIComponent.as:8915]
at mx.core::Container/set data()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\core\Container.as:1209]
at
mx.controls.listClasses::TileBase/mx.controls.listClasses:TileBase::ge
tPreparedItemRenderer()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\TileBas
e.as:575]
at
mx.controls.listClasses::TileBase/mx.controls.listClasses:TileBase::ma
keRowsAndColumns()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\TileBas
e.as:341]
at
mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::ma
keRowsAndColumnsWithExtraRows()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\ListBas
e.as:1339]
at
mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::up
dateDisplayList()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\ListBas
e.as:3665]
at
mx.controls.listClasses::TileBase/mx.controls.listClasses:TileBase::up
dateDisplayList()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\TileBas
e.as:2352]
at mx.controls.listClasses::ListBase/validateDisplayList()
[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\controls\listClasses\ListBas
e.as:3251]
at
mx.managers::LayoutManager/mx.managers:LayoutManager::validateDisplayL
ist()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\managers\LayoutManager.as:60
0]
at
mx.managers::LayoutManager/mx.managers:LayoutManager::doPhasedInstanti
ation()[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\managers\LayoutManager.as:67
3]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at
mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher2()
[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\core\UIComponent.as:8338]
at
mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher()
[E:\dev\flex_3_beta2
\sdk\frameworks\projects\framework\src\mx\core\UIComponent.as:8281]
The same thing happens if I use
a.setStyle('fillColors', ["#000000", "#000000"]);
though the error messages may not be exactly the same...but they are
fairly close.
Does anyone have any idea what I could be doing wrong?
TIA;
Amy