list组件使用跟combox组件使用差不多
都可以在组件面板添加相同的项目添加选择项 这是一个也是很好的办法,不用考虑代码的写法:
但我这里提供其他的方法
第一种办法是:数据绑定的方法
var array=new Array('第一篇','第二篇','第三篇');
list.dataProvider=array;
利用数组来作为数据源,dataProvider的属性指定数据源为数组array
第二种:
我们代码添加选项
list.addItem("第一篇");
list.addItem("第二篇");
list.addItem("第三篇");
list.addItem("第四篇");
添加选择项目:
第三种:外部xml作为数据源
var array:Array=new Array();//新建数组存储xml数据
var myxml:XML=new XML();
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;//防止空白
myxml.load("Mymenu.XML");
myxml.onLoad=function(success){
if(success)
{
trace("ok");
for(i=0;i<myxml.firstChild.childNodes.length;i++)
{
array[i]=myxml.firstChild.childNodes[i].attributes.name;
}
list.dataProvider=array;
}
else
trace("失败");
}
当然这个需要经过数组帮助存储的
<?xml version="1.0" encoding="UTF-8"?>
<item>
<b name="夏天的树人"/>
<b name="秋天的树人"/>
<b name="冬天的树人"/>
</item>
这个是xml文件
这里使用flash8 xml 与数组的知识结合使用,外部读取xml的方法,以及数据绑定的一些基本思路。
以上的都是一些list组件所用到的,同样我们还可以继续看下去当我们选择某一个选项的时候
出现的事件:
我们使用对象监听;在flash cs里面经常使用到监听,但flash8 一般对于初学者来说很少使用事件监听这些事件,也许没有建立起事件的概念
var obj=new Object();
obj.change=function(){
mytext.text=list.selectedItem;
}
list.addEventListener("change",obj);
我这里只是添加这句,目的就是监听当选择list的某一项目发生的事情;我用了一个动态文本来测试了一下;我将动态文本名为mytext当我选择某一项目的时候就会发生不同的响应效果
var array:Array=new Array();//新建数组存储xml数据
var myxml:XML=new XML();
System.useCodepage=true;//防止乱码
myxml.ignoreWhite=true;//防止空白
myxml.load("Mymenu.XML");
myxml.onLoad=function(success){
if(success)
{
trace("ok");
for(i=0;i<myxml.firstChild.childNodes.length;i++)
{
array[i]=myxml.firstChild.childNodes[i].attributes.name;
}
list.dataProvider=array;
}
else
trace("失败");
}
var obj=new Object();
obj.change=function(){
mytext.text=list.selectedItem;
}
list.addEventListener("change",obj);
好这次就写好这里,文章水平有限,望能见谅