Actionscript 3 Actionscript 3数组未按字母顺序显示列表,总数未正确显示
我有一个购物清单项目,它将使用值初始化一个数组,然后允许用户添加和删除元素。每次数组更改时,它都会对值进行排序并将其显示在动态文本框中 我在动态文本框中已经有一个文本列表: 面包 狗粮 鸡蛋 汉堡包 牛奶 我的第一个问题是,当我在输入文本框中键入一个新项目并单击添加项目按钮时,该文本会位于列表中最后一个单词的下方,并且不会按字母顺序排列。例如,如果我输入Apple,单词应该放在面包上面,而不是放在牛奶下面 我的第二个问题是列表中项目的运行总数。当我创建一个新列表,并且每次添加一个新项目时,我的总数应该显示我应用于列表的项目数,但是当我测试时,它每次只显示数字1 我怎样才能修好这些 另外,如何从阵列/列表中删除项目? 我希望能够从列表中选择一个项目,将其复制并粘贴到输入框中,当我单击删除btn时,该项目将从列表中删除 这是我的密码:Actionscript 3 Actionscript 3数组未按字母顺序显示列表,总数未正确显示,actionscript-3,flash,Actionscript 3,Flash,我有一个购物清单项目,它将使用值初始化一个数组,然后允许用户添加和删除元素。每次数组更改时,它都会对值进行排序并将其显示在动态文本框中 我在动态文本框中已经有一个文本列表: 面包 狗粮 鸡蛋 汉堡包 牛奶 我的第一个问题是,当我在输入文本框中键入一个新项目并单击添加项目按钮时,该文本会位于列表中最后一个单词的下方,并且不会按字母顺序排列。例如,如果我输入Apple,单词应该放在面包上面,而不是放在牛奶下面 我的第二个问题是列表中项目的运行总数。当我创建一个新列表,并且每次添加一个新项目时,我的总
addItem_btn.addEventListener(MouseEvent.CLICK, AddItem);
function AddItem(e:MouseEvent):void {
var totalItems:int;
totalItems = int(input_txt.text);
totalItems += 1;
totalItems_txt.text = totalItems.toString();
var newItem:Array = new Array();
newItem[0] = input_txt.text;
newItem.sort(Array.CASEINSENSITIVE);
input_txt.text = "";
for (var i:int = 0; i<1; i++) {
output_txt.appendText(newItem[i] + "\n");
}
}
您的代码不起作用,因为您有一些小问题 用于存储项目的数组应该是一个全局变量,每次只需将新项目添加到该数组中时,对其进行排序并在控件中显示其内容,例如,对于项目编号,您当然可以使用其长度属性,因此您的代码可以如下所示:
var items:Array = [];
addItem_btn.addEventListener(MouseEvent.CLICK, AddItem);
function AddItem(e:MouseEvent): void
{
if(input_txt.text != ''){
items.push({label: input_txt.text, data: items.length});
items.sortOn('label', Array.CASEINSENSITIVE);
list.removeAll();
list.dataProvider = new DataProvider(items);
}
totalItems_txt.text = items.length.toString();
}
此处的列表可以是手动插入到后台的列表控件,也可以是在导入fl.controls.list类后通过如下代码创建的列表控件:
有关如何使用阵列的详细信息,请查看:
.
.
.
希望这能有所帮助
var list:List = new List();
addChild(list);