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

Reply via email to