1.自定义对象类
package
{
public class UserVO
{
//--------------------------------------------------------------------------
//
// Constructor
//
//--------------------------------------------------------------------------
public function UserVO()
{
}
//--------------------------------------------------------------------------
//
// Properties
//
//--------------------------------------------------------------------------
private var _username:String;
public function get username():String
{
return _username;
}
public function set username(value:String):void
{
_username = value;
}
}
}
2.MXML文件
<?xml version="1.0"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
height="600" preinitialize="preinitializeHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
private var users:ArrayCollection = new ArrayCollection();
protected function preinitializeHandler(event:FlexEvent):void
{
//initialize the data
users.addItem(new UserVO());
}
protected function changeBtn_clickHandler(event:MouseEvent):void
{
//change the item's username value
var user:UserVO = new UserVO();
user.username = "daniel";
//reset the item
users.setItemAt(user, 0);
}
]]>
</fx:Script>
<s:HGroup >
<s:TextInput text="username:{UserVO(users.getItemAt(0)).username}" />
<s:Button label="change" id="changeBtn" click="changeBtn_clickHandler(event)" />
</s:HGroup>
</s:Application>
注意更新值时必须为某索引的项整个对象重新赋值,而不能只更新该项的字段值,如users.getItemAt(0).username = "daniel",这显示不了绑定的效果。