I have two instances of mx:controls::List. Both use the same ItemRenderer. A
TypeError
occours, when i drop one item from one List into the other List. Instead of the
encapsuled
type (an instance of an interface, typed to the interface) just an empty
Ombject instance is
returned.
I implement mx.core.IDataRenderer,
mx.controls.listClasses.IDropInListItemRenderer and
mx.controls.listClasses.IListItemRenderer in my component. Here is the code for
the
overwritten data and listData Propertys:
private var _item:IPlayListItem;
private var _listData:BaseListData;
[Bindable("dataChange")]
override public function get data():Object {
return this._item;
}
[Bindable("dataChange")]
public function get listData():BaseListData {
return this._listData
}
override public function set data(value:Object):void {
trace("ListItemRenderer.data: "+value);
super.data = value;
if (!value) {
return;
}
if (this._item == value) {
return;
}
if (value is IPlayListItem) {
super.data = IPlayListItem(value);
this._item = IPlayListItem(value);
}
this.dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
public function set listData(value:BaseListData):void {
if (this._listData == value) {
return;
}
this._listData = value;
this.dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
What am i missing?
Best regards!