0

私はViewNavigatorApplicationFlex を使用して に取り組んでおり、navigator.

私の問題は、次の場合です。

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                            xmlns:s="library://ns.adobe.com/flex/spark"
                            firstView="views.IntroView">

    <s:navigationContent>
        <s:Button label="Home" click="navigator.popToFirstView()"/>
        <s:Button label="Start" click="navigator.pushView(StartView)"/>
    </s:navigationContent>
</s:ViewNavigatorApplication>

Startボタンを複数回押すと、 の複数のインスタンスStartViewが作成されます。これは多かれ少なかれビューのスタックであるため、妥当です。モバイルデバイスの戻るボタンを押すことで確認できます。

これを簡単に回避する方法はありますか、それとも、物事を追跡し、必要に応じて各ビューのインスタンスを 1 つだけプッシュできるようにする (非常に複雑な) 'コントローラー' をコーディングするpopView()必要がありますか?

それに関するドキュメントが見つからないようですが、何か見逃した場合は、私と共有してください。

ありがとうございました!

4

1 に答える 1

2

StartViewクラスがクラスを拡張する場合、そのプロパティを「never」にView設定できます。destructionPolicyこれにより、ViewNavigatorナビゲートされるたびに新しいビューを作成するのではなく、その特定のビューを再利用できます。

Flex ではこのようなものが再利用されるのが一般的ですが、モバイル アプリでは、アドビはメモリを解放する側で誤りを犯したようです。

于 2012-09-23T01:16:28.443 に答える