flex 4 list ItemRenderer:我如何为不同的行设置不同的itemrenrerer?

ufk*_*ufk 1 apache-flex list itemrenderer flex4

我正在为游戏创建一个分数列表.现在大多数列表我需要具有相同的ItemRenderer.但是在列出正在播放的用户的列表的一个特定行中,它应该显示不同的信息并且具有不同的背景颜色.我怎么能实现这个目标?

更新

我已经尝试用状态解决问题,我创建了2个状态,一个状态称为"我的",第二个状态称为"其他".

我得到的问题是,当用户点击其中一个列表行,表明对我的改变时,我没有点击或者某事,这就是为什么我认为状态对我来说不是正确的行为.

Flo*_*n F 9

Flex 4附带的spark List控件允许您根据某些逻辑分配不同的itemRenderer.

您可以通过设置itemRendererFunction属性来创建自定义项呈示器功能.

    <fx:Script>
    <![CDATA[
        import renderers.*;

        import mx.core.ClassFactory;
        import spark.skins.default.DefaultItemRenderer;

        private function list_itemRendererFunc(item:Object):ClassFactory {
            var cla:Class = DefaultItemRenderer;
            switch (item.type) {
                case "employee":
                    cla = EmployeeItemRenderer;
                    break;
                case "manager":
                    cla = ManagerItemRenderer;
                    break;
                default:
                    break;
            }
            return new ClassFactory(cla);
        }
    ]]>
</fx:Script>

<s:List id="list"
        labelField="name"
        itemRendererFunction="list_itemRendererFunc"
        horizontalCenter="0"
        verticalCenter="0">
Run Code Online (Sandbox Code Playgroud)