我需要一些列表上的圖像幫助。第二個.mxml文件中有一個帶ItemRenderer的List。名單必須顯示從RSS項的標題和圖像,但我的名單上顯示不`噸圖像:(什麼是錯我的代碼ItemRenderer圖片不顯示
這是HomeView.mxml代碼:
<?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:rssreader="services.rssreader.*"
fontWeight="bold" title="Elektro-Vozila" viewActivate="getData()">
<fx:Script>
<![CDATA[
import spark.events.IndexChangeEvent;
protected function getData():void
{
getDataResult.token = rssreader.getData();
}
import mx.events.CollectionEvent;
import valueObjects.Item;
protected function fixEntityReferences(event:CollectionEvent):void
{
myList.labelFunction = replaceEntity;
function replaceEntity(item:Item):String
{
var p1:RegExp = /(")/ig; // perhaps add more here later
var thisString:String = item.title.replace(p1, "");
trace(thisString);
return thisString;
}
}
protected function myList_changeHandler(event:IndexChangeEvent):void
{
var RSSItem:Object = myList.dataProvider.getItemAt(event.newIndex);
navigator.pushView(DetailsView, RSSItem);
}
]]>
</fx:Script>
<fx:Declarations>
<s:CallResponder id="getDataResult"/>
<rssreader:Rssreader id="rssreader"/>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:navigationContent>
<s:Image right="20" height="52" source="images/logo.png"/>
</s:navigationContent>
<s:List id="myList" width="100%" height="100%" change="myList_changeHandler(event)" fontSize="0"
fontWeight="normal" itemRenderer="views.icon">
<s:AsyncListView list="{getDataResult.lastResult}"
collectionChange="fixEntityReferences(event)"/>
</s:List>
</s:View>
And this is code from icon.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
autoDrawBackground="true">
<s:states>
<s:State name="normal" />
<s:State name="selected" />
</s:states>
<s:VGroup width="100%" height="100%" gap="0">
<s:HGroup width="100%" height="100%">
<s:Image width="72" height="72" source="{data.rimage}"
scaleMode.normal="stretch"/>
<s:VGroup width="100%" height="70" gap="0" paddingBottom="10" paddingLeft="10"
paddingRight="10" paddingTop="10"
height.normal="90" horizontalAlign.normal="justify">
<s:Label text="{data.title}"
fontSize.normal="16" fontWeight.normal="normal"
verticalAlign.normal="justify"
styleName.selected="menuTitleText"/>
</s:VGroup>
</s:HGroup>
<s:Line width="100%"><s:stroke><s:SolidColorStroke color="0x808080" weight="1" /></s:stroke></s:Line>
</s:VGroup>
</s:ItemRenderer>
我試着使用一些銳美選項包括源= 「data.rimage」,銳美,{data.rimage} ...但沒有工作:(
<?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:rssreader="services.rssreader.*"
title="{rtitle}" viewActivate="getDetails()">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import valueObjects.Item;
[Bindable] public var rimage:String;
[Bindable] private var rtitle:String;
[Bindable] private var rlink:String;
[Bindable] private var rdesc:String;
private function getDetails():void
{
var thisItem:Item = data as Item;
rtitle = thisItem.title;
rlink = thisItem.link;
rdesc = thisItem.description;
var descArr:Array = rdesc.split("src=");
var resArr:Array = descArr[1].split(".jpg");
var resArr2:Array = resArr[0].split("\"");
rimage = resArr2[1] + ".jpg";
}
]]>
</fx:Script>
<fx:Declarations>
<s:CallResponder id="getDataResult"/>
<rssreader:Rssreader id="rssreader"/>
</fx:Declarations>
<s:navigationContent>
<s:Button label="Nazaj" click="navigator.popView()" />
</s:navigationContent>
<s:BorderContainer top="0" bottom="0" left="0" right="0"
backgroundColor="#FFFFFF">
<s:Label left="20" right="20" top="42" height="61"
backgroundColor="#FFFFFF" color="#000000" fontSize="24"
paddingBottom="30" paddingLeft="5" paddingRight="5"
paddingTop="5" text="{rtitle}"/>
<s:Label left="20" right="90" top="14" height="23" backgroundColor="#FEFDFD" color="#666666"
fontSize="18" fontStyle="italic" paddingBottom="5" paddingLeft="5" paddingRight="5"
paddingTop="5" text="Objavljeno: {rdate}"/>
<s:BitmapImage y="110" left="20" right="20" smooth="true" smoothingQuality="high"
source="{rimage}" />
<s:Label left="20" right="20" top="264" bottom="135" color="#666666"
backgroundColor="#FFFFFF" fontSize="18" paddingBottom="5"
paddingLeft="5" paddingRight="5" paddingTop="15"
text="{rdesc2}" maxDisplayedLines="10" />
<s:Button left="50" right="50" bottom="22" label="Preberi celoten članek"
click="navigator.pushView(ClanekHTML, data.link)"/>
</s:BorderContainer>
</s:View>
歐,這裏是從DetailsView.mxml代碼,其中銳美位於:
感謝您的任何幫助!
你好shuanhusain!感謝您的回覆,但我從RSS描述加載圖像,而不是圖像文件夾。我在我的問題中犯了錯誤。來自icon.mxml文件(itemRenderer)的源代碼位於第一個代碼框中。我是一個初學者在Flex和編程:(你有郵件,MSN等,我會聯繫你:) – Roky 2012-02-10 01:50:36
我的電子郵件和Gmail是我的名字在中間點,但老實說,我更喜歡StackOverflow,因爲我可以在這裏跳來跳去,以我自己的節奏來採取行動(這是一個很好的方式,當我深深地思考自己的工作時,我會重新確認自己知道某些事情)。如果你想聊天,Gmail是最簡單的來回方式,但又不是公開記錄,其他人可以從對話中受益,所以我更喜歡使用這個網站。如果我們通過即時通訊獲得解決方案,至少應該在此處發佈,以防有人遇到相同的問題。 – shaunhusain 2012-02-10 02:13:31
我會重新檢查你的第一個代碼塊,看看我能否看到出了什麼問題,所以我假設rimage是圖像文件的完整絕對路徑,然後才能正確? – shaunhusain 2012-02-10 02:14:26