AIR + Android : List 内に画像とテキストを表示する


  startview.mxml



<?xml version="1.0" encoding="utf-8"?>
<data>
	<row>
		<name>浦岡 友也</name>
		<icon>http://10.0.2.2/lightbox/_img.png</icon>
	</row>
	<row>
		<name>多岡 冬行</name>
		<icon>http://10.0.2.2/lightbox/_img.png</icon>
	</row>
	<row>
		<name>内高 友之</name>
		<icon>http://10.0.2.2/lightbox/winofsql.png</icon>
	</row>
</data>


<?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:mx="library://ns.adobe.com/flex/mx"
	title="最初のビュー"
	creationComplete="initView();"
>

<fx:Script>
<![CDATA[


	// List 用
	import spark.events.IndexChangeEvent;

	// http サーバー関連
	import mx.collections.ArrayList;
	import mx.rpc.AsyncToken;
	import mx.rpc.events.FaultEvent;
	import mx.rpc.events.ResultEvent;


	// *****************************************************
	// 初期処理
	// *****************************************************
	public function initView():void {


	}

	// *********************************************************
	// データを WEB から追加
	// *********************************************************
	public function loadData():void {

		parentApplication.logData( "ボタンが押されました" );

		srv.url = "http://10.0.2.2/lightbox/list.xml";

		// レスポンス結果のデータフォーマット
		srv.resultFormat = "e4x";
		
		srv.method = "GET";
		
		// リクエストを実行
		var at:AsyncToken = srv.send();


	}

	// *********************************************************
	// リストを選択
	// *********************************************************
	public function myChangedHandler(event:IndexChangeEvent):void {

		// 本来は複数選択用
		var selIndices:Vector.<int> = event.currentTarget.selectedIndices;
		parentApplication.logData( selIndices[0].toString() );
		var selItems:Vector.<Object> = event.currentTarget.selectedItems;
		parentApplication.logData( selItems[0].toString() );

		// 単体
		parentApplication.logData( event.currentTarget.selectedItem.name.toString() );
		parentApplication.logData( event.newIndex.toString() );

	}

	// *****************************************************
	// HTTPServiceが成功
	// *****************************************************
	private function resultHandler(e:ResultEvent):void
	{
		var dataSet:ArrayList = null;

		var aData:Array = new Array();
		var idx:int = 0;
		for each(var xmlData:XML in e.result.row ) {

			aData.push({ icon: xmlData.icon.toString(), name: xmlData.name, idx: idx });
			idx++;
		}

		dataSet = new ArrayList(aData);
		base.dataProvider = dataSet;

	}
	
	// *****************************************************
	// HTTPServiceでエラーが発生した
	// *****************************************************
	private function faultHandler(e:FaultEvent):void
	{
		parentApplication.logData("HTTPService失敗\n\n理由 : " + e.fault.message);
	}


]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService id="srv" showBusyCursor="true"
		 result="resultHandler(event)"
		 fault="faultHandler(event)" />
</fx:Declarations>

	<s:Button
		x="42" y="27"
		width="131" height="60"
		label="ロード"
		click="loadData()" />

	<s:BorderContainer
		width="100%"
		height="100%"
		y="100"
	>
		<s:List
			id="base"
			width="100%"
			height="100%"
			change="myChangedHandler(event);" 
		>
			<s:itemRenderer>
				<fx:Component>
					<s:ItemRenderer>
						<s:HGroup>
							<s:Image source="{data.icon}" />
							<s:Label text="{data.name}" />

							<s:Button
								label="ロード"
								click="parentApplication.clickData( { idx:data.idx, name: data.name, icon: data.icon }  )" />

						</s:HGroup>
					</s:ItemRenderer>
				</fx:Component>
			</s:itemRenderer>

			<s:ArrayList>
			</s:ArrayList>
		</s:List>
	</s:BorderContainer>


</s:View>











  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ