flex动态加载list,内容都出来了,但是图片不能显示?具体代码如下:
<?xmlversion="1.0"encoding="utf-8"?><s:Viewxmlns:fx="http://ns.adobe.com/mxml/2009"xm...
<?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:supportClasses="spark.skins.mobile.supportClasses.*"
actionBarVisible="false" title="" xmlns:views="views.*" creationComplete="xmldata.send()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:HTTPService id="xmldata" url="source/file/BookInfo.xml" resultFormat="e4x" result="xmlResult(event)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import spark.components.List;
private var xmls:XML=new XML();
private var messageXml:ArrayCollection=new ArrayCollection();
private function xmlResult(e:ResultEvent):void
{
xmls=XML(e.result.bookinfo);
var num:int=xmls.book.length();
var arr:Array=new Array;
for(var i:int=0;i<num;i++)
{
var obj:Object=new Object();
obj.productIcon=xmls.book[i].@url;
obj.productName=xmls.book[i].@name;
obj.productMessage=xmls.book[i].@url;
arr[i]=obj;
}
messageXml.source=arr;
}
]]>
</fx:Script>
<s:Scroller width="100%" height="100%">
<s:HGroup width="100%" height="100%">
<s:List id="listmessage" width="100%" height="100%" dataProvider="{messageXml}">
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer iconPlaceholder="@Embed('source/pic/messageButton.png')"
iconField="productIcon" labelField="productName" messageField="productMessage"
iconWidth="60" iconHeight="60">
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:HGroup>
</s:Scroller>
</s:View> 展开
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:supportClasses="spark.skins.mobile.supportClasses.*"
actionBarVisible="false" title="" xmlns:views="views.*" creationComplete="xmldata.send()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:HTTPService id="xmldata" url="source/file/BookInfo.xml" resultFormat="e4x" result="xmlResult(event)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import spark.components.List;
private var xmls:XML=new XML();
private var messageXml:ArrayCollection=new ArrayCollection();
private function xmlResult(e:ResultEvent):void
{
xmls=XML(e.result.bookinfo);
var num:int=xmls.book.length();
var arr:Array=new Array;
for(var i:int=0;i<num;i++)
{
var obj:Object=new Object();
obj.productIcon=xmls.book[i].@url;
obj.productName=xmls.book[i].@name;
obj.productMessage=xmls.book[i].@url;
arr[i]=obj;
}
messageXml.source=arr;
}
]]>
</fx:Script>
<s:Scroller width="100%" height="100%">
<s:HGroup width="100%" height="100%">
<s:List id="listmessage" width="100%" height="100%" dataProvider="{messageXml}">
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer iconPlaceholder="@Embed('source/pic/messageButton.png')"
iconField="productIcon" labelField="productName" messageField="productMessage"
iconWidth="60" iconHeight="60">
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:HGroup>
</s:Scroller>
</s:View> 展开
展开全部
只显示文字内容,因为包含图片资源ItemRender需要对所有内容进行布局设置。
比如这样,自己可以对ItemRender的内容进行布局调整。
<s:itemRenderer>
<s:BorderContainer>
<s:Image source="{data.productIcon}" />
<s:Label text="{data.productName}" />
<s:Image source="{data.productMessage}" />
</s:BorderContainer>
</s:itemRenderer>
比如这样,自己可以对ItemRender的内容进行布局调整。
<s:itemRenderer>
<s:BorderContainer>
<s:Image source="{data.productIcon}" />
<s:Label text="{data.productName}" />
<s:Image source="{data.productMessage}" />
</s:BorderContainer>
</s:itemRenderer>
更多追问追答
追问
出不来,对资源的引用有问题,不能用"{data.productIcon}"这种方式访问资源,对了,忘记说了,我这个是一个Flex 手机项目
追答
没开发过手机的应用。这有个链接你参考吧。
http://blog.csdn.net/neil89/article/details/7093699
2013-09-03
展开全部
你的数据是什么样子?url指定的是什么位置的图片?
更多追问追答
追问
数据是通过加载XML文件,然后将数据读取到ArrayCollection中,图片的位置是当前目录下的一个文件夹
追答
不是指定的嵌入路径吧,那个是不能动态设置的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询