0

柔軟な人 私は少し問題があり、フレックスの専門家からの提案が必要です。フレックス モバイル プロジェクトに Spark List コンポーネントがあり、ユーザーがリスト アイテムをクリックしたときに Callout コンポーネントを追加しました。新しい Callout コンポーネントを生成して開きます。しかし、私の場合(iPadでテストしました)、ユーザーがリストをクリックすると機能しますが、ユーザーがリストをダブルクリックするとクラッシュします(リストダブルで)-これは、ユーザーがコールアウトコンポーネントなどにイベントリスナーを作成および追加するためです。リストをダブルクリックすると、コールアウトを作成しようとし、同時に MOUSE_DOWN_OUTSIDE がトリガーされると閉じます (CPU パフォーマンスが優れているため、シミュレーターではそうではありません)。では、エラーがないように構築するにはどうすればよいでしょうか。または、リスト項目の詳細を表示するためのコールアウトのより良い利点です。これが私のコードです:

    <fx:Script>
            <![CDATA[
                public var clInfo:Callout;

                protected function lst_tetkikler_clickHandler(event:MouseEvent):void
                {
                    if(lst_tetkikler.selectedItem != null){
                        clInfo = new Callout();
                        clInfo.width = 400;
                        clInfo.setStyle("contentBackgroundColor",0xf8eabd);

                        lbl_adet.text = lst_tetkikler.selectedItem['adet'];
                        lbl_puan.text = lst_tetkikler.selectedItem['puan'];

                        clInfo.addElement(vg_info);
                        clInfo.verticalPosition = "after";
                        clInfo.open(lst_tetkikler.dataGroup.getElementAt(lst_tetkikler.selectedIndex) as DisplayObjectContainer,true);
                        clInfo.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closeComponent);
                    }

                }

                protected function closeComponent(event:FlexMouseEvent):void
                {
                    if(clInfo){
                        clInfo.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closeComponent);
                        clInfo.close(); 
                        clInfo = null;
                    }
                }


            ]]>
        </fx:Script>

    <s:List id="lst_tetkikler" width="100%" height="50%" 
                dataProvider="{listTetkik}" contentBackgroundAlpha="0" 
                visible="{!(listTetkik.length==0)}" 
                labelField="tetAdi" color="#314F83" 
                click="lst_tetkikler_clickHandler(event)"
                >
        </s:List>

助言がありますか?

4

1 に答える 1

0

CalloutButtonコンポーネントの下にすべてのコールアウトコンテンツを追加することでこれを解決しました-Adobeチームはコールアウトボタンの場合にのみそのようなケースを考慮したようです-上記のシナリオのように動的にコールアウトを作成するとクラッシュします。

于 2012-09-19T05:14:06.413 に答える