【问题标题】:QNX List in Flex not showing up at all!Flex 中的 QNX 列表根本不显示!
【发布时间】:2026-01-06 04:45:01
【问题描述】:

我在 Flex (Adobe AIR) 中遇到了一个奇怪的 QNX 问题,我创建了一个 init();函数,我在其中添加了 test_list() 函数,但 QNX 列表没有显示在 UI 上。请参阅下面的代码以获取摘要,并查看下面的链接以获取完整代码:

http://pastebin.com/hkzTwSGE

总结

        private function init() : void {
            credentials = String(data);

            var arr:Array = new Array();
            arr.push("item 1");
            arr.push("item 2");

            indexArrayCollection = new ArrayCollection();

            subsonicIndexList = new DataProvider(arr);

            //subsonicIndexList = new DataProvider(indexArrayCollection.source);
            //get_indexList(null);

            test_list();
        }

        private function test_list() : void {
            var arrMonth:Array=[];
            // add objects with a label property
            arrMonth.push({label: "January"});
            arrMonth.push({label: "February"});
            arrMonth.push({label: "March"});
            arrMonth.push({label: "April"});
            arrMonth.push({label: "May"});
            arrMonth.push({label: "June"});
            arrMonth.push({label: "July"});
            arrMonth.push({label: "August"});
            arrMonth.push({label: "September"});
            arrMonth.push({label: "October"});
            arrMonth.push({label: "November"});
            arrMonth.push({label: "December"});

            var myList:List = new List();            
            myList.setPosition(100, 100);            
            myList.width = 300;            
            myList.height = 400;
            myList.columnWidth = 100;

            //set the dataProvider
            myList.selectionMode = ListSelectionMode.MULTIPLE;
            myList.scrollDirection = ScrollDirection.VERTICAL;
            myList.dataProvider = new DataProvider(arrMonth);

            myList.addEventListener(ListEvent.ITEM_CLICKED, showAlert);
            myList.addEventListener(ScrollEvent.SCROLL_END, showAlert);
            myList.addEventListener(ScrollEvent.SCROLL_BEGIN, showAlert);

            this.addChild(myList);
        }

【问题讨论】:

    标签: apache-flex flex4 air adobe qnx


    【解决方案1】:

    您需要将任何 QNX 组件添加到包装器中。如此处所示: http://corlan.org/2011/03/28/creating-playbook-apps-with-flex-and-qnx-ui-components/

    所以你需要这个动作脚本:

    // this.addChild(myList);
    dateWrapper.addChild(myList);
    

    这个到 MXML

    <mx:UIComponent id="dateWrapper"/>
    

    【讨论】:

    • 今晚回家后我会尽快尝试。我正在使用 renaun MXML(根据我的完整代码)并将列表放入一个 qnx 容器(QContainer)中,该容器位于一个 skinnablecontainer 内,它在不确定现在发生了什么之前工作,但我试试这个,看看我是否可以取得进展。