我的mxml应用程序中有两个tilelists。项目(图像和标签)由itemrenderer呈现。我想要实现的功能:从tilelist#1拖动图像并将其放在tilelist#2上(然后将启动带有sql查询的httpservice)。
我该如何解决这个问题? (高级信息就足够了)。 我遇到的主要问题是我不知道如何调用从main到itemrenderer的方法。我想在渲染器中编写d& d功能,但我不知道如何从渲染器中访问监视列表#2。 main.mxml中的相关代码:
<s:Panel id="panel" width="100%" height="100%" title="Watchlist">
<s:layout>
<s:VerticalLayout paddingBottom="5" paddingLeft="20"
paddingRight="20" paddingTop="5"/>
</s:layout>
<s:Label width="20%" fontSize="17" fontWeight="bold" text="Your watched movies"/>
<mx:TileList id="myWatchedList_tile" height="360" borderVisible="false" width="80%"
columnCount="5" columnWidth="200"
itemRenderer="components.TileListItemRenderer" rowCount="1" rowHeight="360"/>
<s:Label width="20%" fontSize="17" fontWeight="bold" text="Your to watch movies"/>
<mx:TileList id="myToWatchList_tile" height="360" borderVisible="false" width="80%"
columnCount="5" columnWidth="200"
itemRenderer="components.TileListItemRenderer" rowCount="1" rowHeight="360" />
</s:Panel>
itemrenderer:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
borderVisible="false" horizontalAlign="center" verticalAlign="middle"
xmlns:components="components.*">
<mx:Image source="{data.poster_url}" />
<mx:Label text="{data.movie_title}" height="20" />
</mx:VBox>
答案 0 :(得分:0)
您可以使用outerDocument
对象访问项呈示器外部的方法。确保它们是(范围)公共方法。
http://www.adobe.com/devnet/flex/articles/itemrenderers_pt1.edu.html
答案 1 :(得分:0)
替代解决方案可能是使用火花列表(使用TileLayout) - 然后您可以轻松地在列表之间使用拖放:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7cfd.html
..并启动服务以响应'drop'事件(事件将引用已删除的图像)