2014-09-03 2 views
-2

또한 NavigatorContent 클래스에 목록을 추가하려고 시도했습니다. 스파크 목록의 기본 스킨은 dataprovider를 할당 할 때 null이되어 오류가 발생합니다.오류 : defalut 스킨 class null :: Mx ViewStack에 Spark List를 추가하는 중

배경에 대해 모든 Mx 구성 요소를 사용하는 레거시 프로젝트에서 스파크 목록을 확장하는 사용자 지정 트리를 사용 중입니다.

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 (구성 요소)를 사용하여 as3에 추가되었습니다. sparkskins.swc가 플러그인에 제대로 연결되어 있지 않을 수 있습니다. 그렇다면 어떻게 해결할 수 있습니까?

답변

0

자세한 내용 (코드, 로그 ..)이 필요합니다.

첫째, 당신이 예를 보면, 당신이 먼저 NavigatorContent에 목록을 추가해야합니다,는, ViewStack에 List 구성 요소를 추가 할 수 없습니다 : 널 포인터 예외,

<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> 

다음에, 할 수있다 런타임에 누락 된 swc lib로 인해 발생하므로 프로젝트 설정 패널에서 RSL 기능을 비활성화 한 다음 다시 시도하십시오.

오류가 계속되면 버그 코드를 공유하여 테스트 해 볼 수 있습니다.

+0

최종 애플리케이션의 크기를 크게 늘릴 수있는 RSL의 coz을 제거 할 수 없습니다. Spark List가 ViewStack에 추가되기 전에 Mx 구성 요소 즉 VBox, Canvas 등의 계층에 추가되는 경우가 있습니다. 내가 요청한대로 세부 정보를 추가합니다 ... Thnx에 대한 답장 –

관련 문제