2011-05-12 9 views
0

최신 SDK 4.5.0.20967로 작업하고 있습니다. 전에 SDK Hero에서 일했습니다. 모든 것이 잘 작동하지만 returndObject에 문제가 있습니다. 그것이 작동하지 않는 유일한 방법입니다.returnObject가 아무 것도 반환하지 않습니다.

override public function createReturnObject():Object 
     { 
      return m_parameters; 
     } 

나는 나의 navigator.poppedViewReturnedObject = 널 (null)를 참조 디버깅 :

그래서 난 내 returnObject을 페이지가 있습니다.

var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject; 

아무도 내가 잘못하고있는 것을 알고 있습니까? 아니면 해결책이 있습니까?

종류와 관련,

티보 헤일 렌

+0

는 여기서 'createReturnObject'인가? 'm_parameters'는 무엇입니까? –

답변

0

당신은 추가 초기화에 ViewReturnObject를 초기화해야합니다. 그런 다음 작동합니다.

3

poppedViewReturnedObject는 원래 재정의 된 createReturnObject 메소드가 포함 된 새보기를 밀어 넣은보기의 addHandler에서만 사용할 수 있습니다.

언제 poppedViewReturnedObject를 사용할 수 있습니까 (null이 아닌지)? 물론 popview()가 호출 될 때.

다른 상황 (예 : viewActivated 핸들러)에서 poppedViewReturnedObject에 액세스하려고하면 null이됩니다.

코드 샘플 : 당신은 당신의 코드를 충분히 표시하지 않을

<?xml version="1.0" encoding="utf-8"?> 
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    add="addHandler(event)" 
    viewActivate="viewActivateHandler(event)" 
> 
<fx:Script> 
    <![CDATA[ 
     import mx.events.FlexEvent; 

     import spark.events.ViewNavigatorEvent; 

     protected function addHandler(event:FlexEvent):void 
     { 
      if (navigator.poppedViewReturnedObject==null){ 
       // do something 
       var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject; 
      } 
     } 
     protected function viewActivateHandler(event:ViewNavigatorEvent):void 
     { 
      // here , navigator.poppedViewReturnedObject is null 
     } 


    ]]> 
</fx:Script> 

+1

감사합니다. 내가 필요한 것. 순수 액션 스크립트를 작성하는 사람들을 위해 다음과 같은 것을 추가 할 것입니다 : this.addEventListener (FlexEvent.ADD, this.addActivateHandler); 이벤트를 잡으려고. – teapot7

관련 문제