Flex 4.6 を使用しており、AIR アプリケーションを持っています。
多くのラベルが付いたパネルがあります。これらのラベルに別のクラスからアクセスする必要があります。すべてのラベル オブジェクトを渡したくありません。そこで、パネル コンテナーを渡してから、getElementByName() メソッドを介してラベルにアクセスすることを考えました。
ここに私のマークアップがあります:
<s:VGroup includeIn="SLA_textView" width="100%" height="100%"
paddingBottom="10" paddingRight="10">
<s:Panel id="SlaTextViewPanel" width="100%" height="100%"
title="test View">
<s:Label id="lbTotalBooks" name="test" x="82" y="62" />
</s:Panel>
</s:VGroup>
actionscript コードは次のようになります。
getLabels(Container:Panel){
var _Container:Panel = Container;
//var tempLabel:Label = _Container.getChildByName("test") as Label;
var n:int = _Container.numChildren;
for (var i:int = 0; i < n; i++) {
var c:DisplayObject = _Container.getChildAt(i);
trace(c.name);
}
var tempLabel:Label = _Container.getChildByName("test") as Label;
なぜtempLabel
常にnull
ですか?
だから私はパネル上のオブジェクトの名前をループしようとしましたが、テストラベルも表示されませんか? だから私はどこかで何かが間違っています。
痕跡:
instance1333
PanelSkin1074