フォーラム一覧   -   トピック一覧
   Flex Builder 3
     State内で定義したTabnavigatorのチェンジイベント取得について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
cocoro
投稿日時: 2008-6-11 22:49
ご主人様
登録日: 2007-12-12
居住地:
投稿: 53
State内で定義したTabnavigatorのチェンジイベント取得について
ご無沙汰しております。
cocoroです。

標題の件で質問です。

Stateを利用した画面遷移を行っています。
あるState中に、Tabnavigatorコンポーネントを置いているのですが、
そのChangeイベントを取得できないでいます。



<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="oninit()">
	<mx:states>
		<mx:State name="aa">
			<mx:AddChild position="lastChild">
				<mx:TabNavigator x="121" y="71" width="200" height="200" id="tabnabigator" creationPolicy="all">
					<mx:Canvas label="タブ 1" width="100%" height="100%">
					</mx:Canvas>
					<mx:Canvas label="a" width="100%" height="100%">
					</mx:Canvas>
					<mx:Canvas label="v" width="100%" height="100%">
					</mx:Canvas>
				</mx:TabNavigator>
			</mx:AddChild>
		</mx:State>
	</mx:states>

	<mx:Script>
		<![CDATA[
			import mx.events.IndexChangedEvent;
			private function oninit():void
			{
				tabnabigator.addEventListener(IndexChangedEvent.CHANGE, abc);
			}
			private function abc(e:Event):void {
				trace("changed");
			}
		]]>
	</mx:Script>
</mx:Application>


TabNavigatorのcreationPolicy="all"でイケると思ったのですが…

引用:
null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。


と、

tabnabigator.addEventListener(IndexChangedEvent.CHANGE, abc);

の部分で怒られてしまいます。

どの様にすれば、Changeイベントを取得できるのでしょうか。

ご教授の程、よろしくお願い致します。
nobu
投稿日時: 2008-6-12 1:48
ご主人様
登録日: 2006-6-17
居住地:
投稿: 588
Re: State内で定義したTabnavigatorのチェンジイベント取得について
>cocoroさん

State "aa"に開始ステートの設定をしたらどうでしょうか?
開始ステートでダメなら、State "aa"のEnterStateイベントで

tabnabigator.removeEventListener(〜〜)
tabnabigator.addEventListener(〜〜)

で対応できるかと思います。
Stateの上に配置されているコンポーネントはそのStateがアクティブ
になったタイミングで初めて生成されます。この為CreationComplete
イベントでも必ず生成されているわけではないので、ぬるっぽが発生
します。
cocoro
投稿日時: 2008-6-13 18:31
ご主人様
登録日: 2007-12-12
居住地:
投稿: 53
Re: State内で定義したTabnavigatorのチェンジイベント取得について
nobuさん。

いつもお世話になってます。
ご返答ありがとうございました。

引用:
Stateの上に配置されているコンポーネントはそのStateがアクティブになったタイミングで初めて生成されます。


なるほどです。

ビューが移った後に、リスニングして成功しました!

どうも、ありがとうございました
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を