私は Flex を初めて使用するので、質問が非常に基本的なものである場合はご容赦ください。ここに投稿する前によく検索しましたが、正しい方向を見ていない可能性があります。問題の解決につながるパスにリダイレクトしてください。私が得ることができるどんな助けにも本当に感謝しています。
私はこのビデオチュートリアルに従っています。(動画のような単純な Flex プロジェクトではなく、モバイル プロジェクトを作成していました)
http://www.gotoandlearn.com/play.php?id=100
家庭教師がアプリケーションにカスタム コンポーネントを追加するまでは、すべてが順調に進んでいました。彼は私が Flash Builder 4.6 で見つけることができなかった HBox を追加したので、代わりに新しいコンポーネントに HGroup を追加しました。カスタムコンポーネントの親コンポーネントでフェッチされたデータを使用したい場合、エラーが発生します。コードとそのファイル名は次のとおりです。
ファイル: SearchHomeView.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" title="Twitter Search">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:HTTPService result="onResult(event)" id="service" url="http://search.twitter.com/search.atom?q=adobe">
</s:HTTPService>
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.utils.flash_proxy;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var ac:ArrayCollection;
private function onResult(event:ResultEvent):void
{
ac = event.result.feed.entry as ArrayCollection;
trace(data);
trace(ac);
}
private function doSearch(event:MouseEvent):void
{
//service.url = "http://search.twitter.com/search.atom?q=" + tearch.text;
service.url = "http://search.twitter.com/search.atom?q=adobe";
service.send();
}
]]>
</fx:Script>
<s:TextInput x="25" y="26" width="146" id="tearch"/>
<s:Button x="224" y="26" height="33" label="Search" click="doSearch(event)" />
<s:List dataProvider="{ac}" itemRenderer="tweet" x="25" y="92" width="274" height="278"></s:List>
</s:View>
ファイル: tweet.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:HGroup xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" width="400" height="300">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Image width="50" height="50" source="{parentDocument.data.link.getItemAt('1').href}">
</s:Image>
<s:TextBase width="100%" text="">
</s:TextBase>
</s:HGroup>
source to be を使用するとsource="{parentDocument.data.link.getItemAt('1').href}
、エラーは削除されますが、結果のアプリには何も表示されません。
source を使用するとsource="{data.link[1].href}
...エラーが発生し、
この行に複数のマーカー:
-1120: 未定義のプロパティ データへのアクセス。
-parentDocument
カスタム コンポーネントでアイテム レンダラーを使用するには、何をする必要がありますか? 解決策を教えてください...私はかなりの時間それに固執しています。