-2

NavigatorContentまた、クラスにリストを追加してみました 。それでも、データプロバイダーを割り当てると、スパーク リストのデフォルト スキンが null になり、エラーが発生します。

背景として、すべての Mx コンポーネントを使用するレガシー プロジェクトで Spark List を拡張するカスタム ツリーを使用しています。

RSL 設定を使用する多くのライブラリ プロジェクトを含むプロジェクトです。SDK 4.6 を使用。

これは、スパーク ツリーが追加されたコードです。

<skins:VBox left="5" top="5" right="15" verticalGap="1" id="topBox">
            <skins:HBox id="topBar" width="100%">
                <skins:Label id="titleLabel" text="{this._headerText}"
                             styleName="leftPanelPopUpTitleLabel" />
                <skins:Spacer width="100%" />
                <skins:LinkButton label="Cancel" click="this.close();"
                                  styleName="linkButtonStyle" />
            </skins:HBox>
            <skins:Label id="featureName"
                         text="{this._feature.getNameFromDdctType()}"
                         styleName="labelID" />
            <skins:Label id="featureID" text="{this._feature.getId()}"
                         styleName="leftPanelPopUpTitleLabel" />
        </skins:VBox>

        <skins:VBox id="treeBox" bottom="0" left="0" right="0"
                    top="{topBox.height+5}" height="{topBar.height + 5}">
            <skins:HBox id="dropBox" left="5" top="30" right="15">
                <skins:ComboBox id="itemsToAdd" selectedIndex="0" />
                <skins:Button id="clickToAdd" label="Add"
                              click="addParentAttributeNode()" />
            </skins:HBox>
            **<sparkTree:Tree id="attributesTree" width="100%" height="100%"
                            indentation="15" />**
            <!-- Bottom Gray Box starts-->
            <skins:VBox backgroundColor="#EBEBEB" height="68" width="100%"
                        bottom="0" verticalGap="5" paddingTop="3" paddingRight="5"
                        paddingLeft="5" paddingBottom="3">
                <skins:HBox horizontalGap="5" width="100%">
                    <skins:LinkButton id="templatesButton" label="SelectedTemplate"
                                      styleName="linkButtonStyle" width="95" />
                    <skins:InvisibleCanvas height="20" width="2">
                        <skins:Image 
                                     source="@Embed(source='Images/vertical-separator.png')" />
                    </skins:InvisibleCanvas>
                    <skins:LinkButton id="applyTemplateButton"
                                      label="Apply template"
                                      styleName="linkButtonStyle" width="95" />
                    <skins:InvisibleCanvas height="20" width="2">
                        <skins:Image 
                                     source="@Embed(source='Images/vertical-separator.png')" />
                    </skins:InvisibleCanvas>
                    <skins:LinkButton id="editTemplatesButton"
                                      label="Template Editor"
                                      styleName="linkButtonStyle" width="95" />
                </skins:HBox>
                <skins:HRule width="100%" strokeColor="#FFFFFF" />
                <skins:HBox horizontalGap="8" width="100%">
                    <skins:ColoredButton id="OkButton" label="OK" />
                    <skins:ColoredButton id="cancelButton" label="Cancel"
                                         fillColor="0xcc3333" />
                    <skins:Button id="applyButton" label="Apply"
                                  click="applyChanges()" />
                    <skins:Spacer width="100%" />
                    <skins:HBox id="copyPasteHBox" horizontalGap="0"
                                paddingRight="9" backgroundAlpha="0"
                                disabledOverlayAlpha="0">
                        <skins:Button height="23" width="20" skin='{null}'
                                      toolTip="Copy" id="btnCopy"
                                      chromeColor="#E4E4E4" />
                        <skins:Button height="23" width="20" skin='{null}'
                                      paddingLeft="15" toolTip="Paste" id="btnPaste"
                                      tabEnabled="false" tabFocusEnabled="false"
                                      enabled="false" />
                    </skins:HBox>
                </skins:HBox>
            </skins:VBox>
            <!-- Bottom Gray Box ends-->
        </skins:VBox>

    </skins:Canvas>

また、this.viewstack.addChild(component) を使用して as3 に追加されます。sparkskins.swc がプラグインに適切に接続されていない可能性があります。そうであれば、これを解決する方法を教えてください。

4

1 に答える 1

0

これを行うには、より詳細な情報 (コード、ログなど) が必要です!

まず、ViewStack に List コンポーネントを追加することはできません。最初に NavigatorContent にリストを追加する必要があります。次の例を見てください。

<mx:ViewStack id="viewStack"
              width="100%" 
              height="100%"
              creationPolicy="auto">

    <s:NavigatorContent>
        <s:List height="100%"
                width="100%"/>
    </s:NavigatorContent>

    <s:NavigatorContent>
        ...
    </s:NavigatorContent>
    ...
</mx:ViewStack>

次に、null ポインター例外については、実行時に swc lib が見つからないことが原因である可能性があるため、プロジェクト設定パネルから RSL 機能を無効にしてから再試行してください。

エラーが続く場合は、バグ コードを共有してください。テストを行うことができます。

于 2014-09-03T11:31:50.337 に答える