PDA

Просмотр полной версии : Как добавить данные из XML в List и ComboBox


mariamarfi
29.07.2014, 22:10
Добрый вечер, форумчане! Как отобразить список данных из XML в List и ComboBox?

Список названия тем отображается в ComboBox, а список слов после выбора определенной темы в List.


import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.video.FLVPlayback;

var i:uint;
var counter: uint = 0;
var myxml: XML = new XML();

var myLoader: URLLoader = new URLLoader();

myLoader.load(new URLRequest("xmls/list_themes_words.xml"));

myLoader.addEventListener(Event.COMPLETE, loaded);

function loaded (event: Event)
{
myxml = XML(event.target.data);

for each ( var Themes:XML in myxml.*)
{
i++;
list.addItem( { label: i+". " +Themes.@videoTitle} );
}

var videoIndex: Number = myxml.video.length()-1;
trace(myxml, videoIndex);
centerAlignAndPlay();

btn_left.addEventListener(MouseEvent.CLICK,prevVideo);
btn_right.addEventListener(MouseEvent.CLICK,nextVideo);

function prevVideo(event:MouseEvent)
{
if (counter>0)
{
counter--;
centerAlignAndPlay();
}
else
{
counter = 3;
centerAlignAndPlay();
}
}

function nextVideo(event:MouseEvent)
{
if (counter<videoIndex)
{
counter++;
centerAlignAndPlay();
}
else
{
counter = 0;
centerAlignAndPlay();
}
}*/
}

function centerAlignAndPlay()
{
flvPlayer.source = myxml.video[counter].@videoFile;
//flvPlayer.x = ;
//flvPlayer.y = ;
title.text = myxml.video[counter].@videoTitle;
}




<?xml version="1.0" encoding="utf-8"?>
<XML>
<Themes>
<theme themeTitle="Адмирал, флот">
<videoWord videoTitle="Адмирал" videoFile="admiral.flv" />
<videoWord videoTitle="Армия" videoFile="armiya.flv" />
<videoWord videoTitle="Атака" videoFile="ataka.flv" />
</theme>
<theme themeTitle="Птицы">
<videoWord videoTitle="Воробей" videoFile="vorobey.flv" />
<videoWord videoTitle="Грач" videoFile="grach.flv" />
</theme>
</Themes>
</XML>

Koopa
29.07.2014, 22:13
ммм, а к переменной слушатель можно подвесить?

mariamarfi
30.07.2014, 11:52
Я новичок в этом деле. Прошу, не судите меня строго. Я просто пробую всевозможные варианты для себя, а не для какого-то проекта. Смотрела в справочниках, для меня там мало примеров, лишь основные... К сожалению, нет , как по мне, нормальные примеры, чтобы можно в дальнейшем самостоятельно проще развиваться. Тут нет речи о стадии.
У меня выдавались ошибки, поэтому я решила вам обратиться. Я не программист.

LifeIsRhythm
30.07.2014, 13:20
Вот интересно, вы будете каждый взятый на фрилансе проект обсуждать здесь?
А у Вас какое-то место чешется? Какое Вам до этого дело?

alexandrratush
30.07.2014, 14:05
Я смотрю тут много собралось народа помочь.
Вот набросал вам пример как примерно все должно быть, разбирайтесь.

import flash.events.Event;

var myLoader: URLLoader = new URLLoader();
myLoader.load(new URLRequest("xmls/list_themes_words.xml"));
myLoader.addEventListener(Event.COMPLETE, loaded);

function loaded (event: Event)
{
var myxml:XML = XML(event.target.data);

var item:XML;
var name:String;
var data:XMLList;
for each (item in myxml.Themes.theme)
{
name = item.@themeTitle;
data = item.videoWord;

comboBox.addItem({label: name, data:data});
}

comboBox.addEventListener(Event.CHANGE, changeCB);
}

function changeCB(e:Event):void
{
var data:XMLList = comboBox.selectedItem.data;

list.removeAll();

var item:XML;
var name:String;
var url:String;
for each (item in data)
{
name = item.@videoTitle;
url = item.@videoFile;

list.addItem({label: name, data: url});
}

list.addEventListener(Event.CHANGE, changeList);
}

function changeList(e:Event):void
{
trace(list.selectedItem.data);
}

Koopa
30.07.2014, 17:48
А у Вас какое-то место чешется? Какое Вам до этого дело?

А ТЫ считаешь что получать готовое решение и за это получать деньги, не прилагая усилий -нормально?
МЫ НЕ РАБЫ!РАБЫ НЕ МЫ!

LifeIsRhythm
30.07.2014, 18:22
Я смотрю тут много собралось народа помочь.
Мне очень стыдно, что я не ответил, но у меня сейчас под рукой idе, чтобы проверить,
а без проверки я не могу, так-как не плохо знаю нативные компоненты. И чтобы не переносить
раздел флейм сюда, я не буду объяснять почему я ответил.

А ТЫ считаешь что получать готовое решение и за это получать деньги, не прилагая усилий -нормально?
А у Вы можете подтвердить то, что на фрилансе действительно было подобное предложение и что именно ТС
получила на него заказ? Или слова крикнувшего сделали свое дело и Вы повелись?

А если это и правда, то Вам какое дело? Если Вы возьмете заказ и столкнетесь с чем-то, о чем и не догадывались,
то что?
Мне этот поступок, навивает кадры из кино ( не помню название ), когда там маленький дедок говорил "я знаю, я знаю".
Вот мне кажется, что SuriTheAngel, так сказал, только по тому, что знал..

И жаль нет цитаты знаменитого человека, но чем слабее и глупее человек, тем он более жесток-груб-нахальней.

dimarik
31.07.2014, 10:34
Первое китайское предупреждение всем участникам этой душевной беседы.

mariamarfi
31.07.2014, 19:34
Спасибо Вам, alexandrratush. Разобралась.