【问题标题】:Flex 4.6 push a specific view with a list item?Flex 4.6 用列表项推送特定视图?
【发布时间】:2013-06-13 16:46:21
【问题描述】:

我正在开发一个 Flex 4.6 Mobile 项目,并尝试使用列表从已设置的菜单视图中导航视图。

我正在查找 Adob​​e 的教程,但大多数教程都涉及更改为相同的视图,并且只是根据您单击的列表项更改数据。我实际上想要做的是,根据您单击的列表项,您会得到一个不相关的视图,每个列表项完全不同的视图。另外,我是不是走错了路?我知道有许多不同的方式来导航视图,使用按钮、选项卡等。但这是人们要求的。我当前列表的示例:

    <s:List id="toolsList" x="10" y="284" width="255" height="197" borderVisible="false"
        color="black" downColor="#00764C" fontSize="16" fontWeight="bold"
        skinClass="view.skins.ListSkin" verticalScrollPolicy="off">
    <s:itemRenderer>
        <fx:Component>  
            <renderers:StyledIconItemRenderer labelField="label" iconField="icon"/>
        </fx:Component>
    </s:itemRenderer>       
    <s:ArrayCollection>
        <fx:Object label="Settings" icon="@Embed('resources/arrow.png')"/>
        <fx:Object label="Fault Current Search" icon="@Embed('resources/arrow.png')"/>
        <fx:Object label="Share Picture" icon="@Embed('resources/arrow.png')"/>
        <fx:Object label="System Info" icon="@Embed('resources/arrow.png')"/>
    </s:ArrayCollection>    
</s:List>

因此,基于上面的示例,我想单击“设置”列表项并获取我的设置视图,然后当我“弹出”设置视图时,我将返回菜单,如果单击“分享图片”列表项,然后我得到那个特定的视图,等等。

我并不是真的要求任何人在这里为我编写代码,但也许甚至可以为我指出一个我可能还没有找到的在线示例的正确方向。

提前感谢您的考虑

【问题讨论】:

    标签: apache-flex list view flash-builder


    【解决方案1】:

    如果您在ArrayCollection 中的每个项目上存储了一些关于它应该导航到哪个视图的数据,那么您可以为读取此数据的列表编写一个更改事件处理程序,并将推送相应的视图。

    例如,添加每个项目应转到的视图的完全限定类名:

    <s:ArrayCollection>
        <fx:Object label="Settings" icon="@Embed('resources/arrow.png')" viewClass="com.whatever.SettingsClass/>
        ...
    </s:ArrayCollection>
    

    然后在列表中添加一个点击处理程序:

    <s:List id="theList" change="onSelectedItemChange()" />
    
    private function onSelectedItemChange():void
    {
        var className:String = theList.selectedItem.viewClass;
        var viewClass:Class = getDefinitionByName(className) as Class;
        ViewNavigatorApplication.navigator.pushView(viewClass);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 2012-07-28
      相关资源
      最近更新 更多