에서 아이템 렌더러 상태를 방지 할 수 있습니다. 이제 목록에서 첫 번째 또는 마지막 항목을 선택하고 데이터 공급자를 새로 고칠 때마다 두 항목의 현재 상태가 서로 바뀝니다.플렉스 모바일 내가 2 개 사용자 정의 상태를 정의한이 사용자 정의 목록 항목 렌더러를 재활용
상품 상태를 유지하는 방법에 대해 안내 해주십시오. 고맙습니다.
참고 : usevirtuallayout을 false로 변경하면 모두 잘 작동합니다. 그러나 그것은 내가 의도 한 바가 아닙니다.
<fx:Script>
<![CDATA[
protected function init(event):void
{
currentState = "collapse";
}
override public function set data(value:Object):void
{
trace(currentState.toString());
}
protected function btn_clickHandler(event:MouseEvent):void
{
currentState = "expand";
}
]]>
</fx:Script>
<s:states>
<s:State name="expand"/>
<s:State name="collapse"/>
</s:states>
<s:Button id="changeStateButton" click="btn_clickHandler(event)"/>
위의 예제는 하나의 버튼의 itemRenderer의 currentState를 변경하는 간단한 아이템 렌더러는 다음
[편집] 는 아이템 렌더러 내 코드입니다. 데이터 공급자에 3 개의 항목이 있으며 각 항목은 기본적으로 "축소"상태입니다. 나는를 새로 고칠 때 지금
collapse
collapse
expand
: 나는 마지막 항목에서 버튼을 클릭하면
collapse
collapse
collapse
가 ...이 추적 결과가 될 것입니다 :이 설정 데이터 기능의 추적 결과
expand
collapse
collapse
누군가가이 시나리오를 설명 할 수 : 데이터 공급자는이 함수를 호출하여 ...이 결과는 "() arraycollection.refresh"? useVirtualLayout
이 true로 설정된 경우에만 발생합니다 ...
자세한 내용을 입력하십시오. 예제로 목록을 표시하는 데 사용되는 코드입니다. –
안녕하세요, @PascalLeMerrer 위에 추가 된 새 편집을 참조하십시오. –