В моем приложении есть кнопки, которые пользователи нажимают, чтобы вставить предопределенные строки в текстовую область.Сейчас я загружаю значения кнопок динамически, чтобы пользователи могли определять свои собственные кнопки.
Я использую файл buttons.txt, который содержит разные метки в каждой строке (button1, button2, button3 и т. Д.),Я перебираю текстовый файл и добавляю кнопки в группу.Это все работает, но теперь самая сложная часть.Как я могу назначить список событий этим кнопкам, чтобы они выводили текст на экран?
protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
{
var path:File = File.documentsDirectory.resolvePath("buttons.txt");
myTextLoader.load(new URLRequest("file://" +path.nativePath));
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);
trace(path.nativePath); // Traces correct file path
mainTextField.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, resizeTextField);
if(data!=null){
mainTextField.text = data.toString();
}else{
mainTextField.text = tags;
}
}
protected function onLoaded(e:Event):void {
var myArrayOfLines:Array = e.target.data.split(/\n/);
var tempBtn:Button;
trace(myArrayOfLines[0]);
for(var i:Number = 0;i < myArrayOfLines.length;i++){
tempBtn = new Button();
tempBtn.label = myArrayOfLines[i];
btnArray.push(tempBtn);
group.addElement(btnArray[i]);
}
}
РЕДАКТИРОВАТЬ
protected function onLoaded(e:Event):void {
var myArrayOfLines:Array = e.target.data.split(/\n/);
var tempBtn:Button;
for(var i:Number = 0;i < myArrayOfLines.length;i++){
var j:Number = i+1;
tempBtn = new Button();
tempBtn.id = "btn" + i;
tempBtn.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent):void{
var index:uint = parseInt(evt.currentTarget.id.replace("btn", ""));
//TextArea code will go here
trace(text); // Traces null
});
tempBtn.label = myArrayOfLines[i];
btnArray.push(tempBtn);
group.addElement(btnArray[i]);
}
}
buttons.txt
button1_label
"Hello"
button2_label
"Goodbye"
button3_label
"Come again"