ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   Flex Builder 3
     子オブジェクトがNULLになる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
yukotan
投稿日時: 2008-6-24 22:39
一見さん
登録日: 2008-6-24
居住地:
投稿: 2
子オブジェクトがNULLになる
aaa.mxmlはv_pageに指定数addChildすると仮定します。
mxmlファイルで設定しているラベルのフォントサイズを取得しようとしているのですが、ラベルがNULLになってしまいます。
aaa.mxmlに直接書く場合は簡単に解決できるのですが皆様はどうなさっているのでしょうか。
なにか下準備が必要なのでしょうか。

aaa.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Label htmlText="{search.text}" id="bbb" fontSize="12"/>
</mx:VBox>

aaa.as
var c_aaa:aaa = new aaa();
var c_bbb:Label = c_aaa.bbb as Label;  <-- ここで既にc_bbbはNULL
var v_fontsize:Number = c_bbb.getStyle('fontSize');
中略
v_page.addChild(c_aaa);


宜しくお願い致します。
dsh
投稿日時: 2008-6-25 0:35
ご主人様
登録日: 2006-3-29
居住地: 東京
投稿: 296
Re: 子オブジェクトがNULLになる
こんにちは、

var c_aaa:aaa = new aaa();
var c_bbb:Label = c_aaa.bbb as Label;  <-- ここで既にc_bbbはNULL

new aaa();
した次の行の実行時点では、aaaは全部生成されていません。
c_aaa.bbb(Label)は、まだ生成されていないので、nullです。
なので、c_aaa.bbbの生成を待てば良いですね。
こんな感じでしょうか。

private var c_aaa:aaa;

private function initAaa():void{
	c_aaa = new aaa();
	c_aaa.addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete, false, 0, true);
	v_page.addChild(c_aaa);
}

private function onCreationComplete(e:Event):void
{
	var c_bbb:Label = c_aaa.bbb as Label;
	var v_fontsize:Number = c_bbb.getStyle('fontSize');
	trace(v_fontsize);
}
yukotan
投稿日時: 2008-6-25 18:56
一見さん
登録日: 2008-6-24
居住地:
投稿: 2
Re: 子オブジェクトがNULLになる
教えていただいたようにaaaのCreation.Completeイベント時に取得するようにしたらできるようになりました!
ありがとうございました!

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を