액션 스크립트는 빌트인 렌더러에 비해 더 빠르고 커스터마이징 가능한 인터페이스를 제공하는 것처럼 보이기 때문에 액션 렌더러만으로 (Flash Builder 4.6에서) 아이템 렌더러를 작성하려고합니다. (라벨/아이콘 등).Flash Builder에서 Actionscript에 ItemRenderer 작성하기
목록과 이미지를 표시하는 두 개의 목록이 필요했습니다. 현재 캔버스에 이러한 모든 요소를 배치하지만 스크롤을 시작하자마자 (가상 목록이 영향을줍니다) 내 이전 요소는 스테이지에서 제거되지 않습니다. 예 : 데이터 이름, 이미지, 회사와 제목에 저장됩니다 http://i.stack.imgur.com/Qt7wZ.png
을 스크롤 한 후 http://i.stack.imgur.com/Mk5HX.png 스크롤하기 전에.
이 문제에 관한 도움이나 실제로 내가하려는 일을하는 더 나은 방법은 크게 감사하겠습니다.
은 현재 내가 클래스가 자원 사용을 최소화하기 위해
public class UILabel2 extends IconItemRenderer
{
public function UILabel2() {
super();
}
override public function set data(value:Object):void
{
super.data = value;
var DBname:String = data.name as String;
var DBimage:String = data.image as String;
var DBcompany:String = data.Company as String;
var DBtitle:String = data.Title as String;
//iconField = location;
trace(DBname);
label = DBname;
messageField = "Peanuts";
//iconWidth=64;
//iconHeight=64;
avatarHolder = new Graphic();
avatar = new BitmapImage();
iconField = DBimage;
avatar.fillMode = "clip";
avatar.source = DBimage;
avatarHolder.width = 64;
avatarHolder.height = 64;
avatarHolder.addElement(avatar);
addChild(avatarHolder);
text2 = new TextField();
text2.x = textMargin;
text2.y = 45;
text2.text = DBcompany;
addChild(text2);
var text3:TextField = new TextField();
text3.x = textMargin;
text3.y = 25;
text3.text = DBtitle;
addChild(text3);
//trace(listArrow1MED);
arrowHolder = new Graphic();
//arrowHolder.width = 20;
//arrowHolder.height = 20;
arrowHolder.x= Wsize-40;
//trace(Wsize);
arrow = new BitmapImage();
arrow.fillMode = "clip";
arrow.source = listArrow1LGE;
arrowHolder.addElement(arrow);
addChild(arrowHolder);
//iconField = avatar;
}
당신은 최고의 도움을 받았으며, 명확하고 간결한 답변을 해주셔서 감사합니다! 바로 잡았어. – user1383938
나는이 질문을 우연히 만났고 대답에 대해 논평했다. 일반적으로 옳긴하지만, 요소 생성은 생성자로 옮겨서는 안됩니다. 올바른 장소는'createChildren' 메소드입니다. – AlBirdie