Vreau sa fac un Widgets.

Intrebari despre Adobe Air

Re: Vreau sa fac un Widgets.

Mesajde RaresMC » Joi Feb 04, 2010 10:17 pm

Multumesc de ajutorul acordat sunt foarte aproape de a rezolva problema.
Dar nu înțeleg un lucru.De ce la testul cu trace imi afișează corect iar cand fac testul fără trace imi afișează doar ultimul element din xml?
Mai jos este codul as3:
Cod: Selectaţi tot
var info:TextArea = panel_mc.main_mc.info_txt;

var gallery_xml:XML;
var xmlReq:URLRequest = new URLRequest("http://www.rpg.ucoz.org/publ/rss/");
var xmlLoader:URLLoader = new URLLoader();

function xmlLoaded(event:Event):void
{
   gallery_xml = new XML(xmlLoader.data);
   var i:Number;
   for (i=0; i<gallery_xml.channel.item.length(); i++)
   {
      trace(gallery_xml.channel.item[i].title.text());
      info.text = gallery_xml.channel.item[i].title.text();
   }
   
}

xmlLoader.load(xmlReq);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);

Am atașat și imaginile cu ce îmi afișează.
xml_1.png
(34.26 KiB) Încă nu a fost descărcat


xml_2.png


Unde anume greșesc?

Vă multumesc încă o dată de ajutorul acordat.
Avatar utilizator
RaresMC
 
Mesaje: 28
Membru din: Vin Feb 06, 2009 3:26 pm
Localitate: Spania

Re: Vreau sa fac un Widgets.

Mesajde Barna Biro » Joi Feb 04, 2010 10:45 pm

Din cauza ca tu mereu asociezi o valoare noua la "info", resetand astfel mereu valoarea veche, si evident, intr-un final, ramane doar ultima valoare. Pe scurt: in loc sa concatenezi valorile, tu mereu inlocuiesti valoarea. Incearca cu: info.text += gallery_xml.channel.item[i].title.text() + "\n";
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Vreau sa fac un Widgets.

Mesajde RaresMC » Joi Feb 04, 2010 11:09 pm

Multumesc frumos sunte-ți un geniu.Functionează perfect.
Avatar utilizator
RaresMC
 
Mesaje: 28
Membru din: Vin Feb 06, 2009 3:26 pm
Localitate: Spania

Re: Vreau sa fac un Widgets.

Mesajde RaresMC » Sâm Feb 06, 2010 9:47 am

Ca să nu deschid altă temă deoarece este legat tot de ceea ce vreu eu să realizez mai am o întrebare.Fiecare articol încărcat din Articole.xml , mai are un nod numit "link" care nu este altceva decât adresa de pagină web a produsului respectiv.Vreau ca în momentul când fac click pe titlul unui produs afișat in lista din aplicația mea, să îmi deschidă pagina de web a produsului respectiv.Sunt începator, știu o să imi spune-ți să mă documentez mai întâi să citesc mai multe despre XML , dar e mult mai bine când este explicat mai detaliat si mai ales în limba română.Și mai știu că tot domnul Barna Biro îmi va da răspunsul,nu știu de ce numai dânsul răspunde în proporție de 98%.Nu că mă deranjează, din contră îl apreciez foarte mult, dar asta este menirea unui forum, să discutăm cu toții și să ne ajutăm reciproc în limita posibilităților.
Mulțumesc anticipat.
Avatar utilizator
RaresMC
 
Mesaje: 28
Membru din: Vin Feb 06, 2009 3:26 pm
Localitate: Spania

Re: Vreau sa fac un Widgets.

Mesajde Barna Biro » Sâm Feb 06, 2010 12:29 pm

Pai, si eu m-as bucura daca ar mai fi si altii care sa raspunda dar din pacate, pe Flex / AIR n-o sa gasesti multi oameni in romania care sa si stie despre ce e vorba si mai ales, sa aibe si vointa sa te ajute. Nici pe forumurile de "Flash pur" nu stau lucrurile mai bine, daca te uiti pe alte forum-uri romanesti de Flash, ai sa vezi ca pe acolo, "bate vantul" chiar mai rau decat aici... Din pacate, piata de Flash/Flex/AIR in romania e aproape inexistenta, iar cei care fac ceva in Flash, in proportie de 90% fac doar bannere...

Asta e, asta-i nivelul la care se afla comunitatile din Romania de Flash/Flex/AIR ...

Acuma, referitor la problema ta: ar exista mai multe solutii:

1) In loc sa te folosesti de proprietatea "text" ar obiectului TextArea cand afisezi titlurile, ai putea sa te folosesti mai bine de proprietatea "htmlText" si sa adaugi text formatat HTML. De exemplu: info.htmlText += "<a href='" + gallery_xml.channel.item[i].link + "'> + gallery_xml.channel.item[i].title.text() + "</a></ br>"; Nu incerca sa rulezi direct bucata asta deoarece, mai mult ca sigur ca mai trebuie modificat un pic, dar sper ca ai prins ideea.

2) O varianta mai eleganta ar fi sa folosesti componenta List in loc de TextArea pentru a afisa titlurile. Poti popula lista in asa fel incat fiecare titlu sa existe pe un singur rand interactiv. Te poti inscrie la un eveniment de "Click" sau chiar "DoubleClick" ( in functie de cum vrei sa realizezi treaba ). Cand user-ul da click pe un item din lista, verifici link-ul asociat item-ului si deschizi o pagina noua pe baza link-ului... Nici solutia asta nu e complicata dar va trebui sa citesti despre componenta List in cazul in care nu ai folosit-o niciodata.

Cum spuneam, ar mai exista o gramada de alte solutii dar cred iti sunt suficiente si solutiile postate mai sus. In cazul in care mai ai intrebari, intreaba! :) Multa bafta.

PS: Chiar daca urmatoarea intrebare e legata de aplicatia asta, te rog sa incerci s-o postezi intr-un thread nou. Nu de alta, dar si in acest thread am dezbatut o gramada de probleme ( ceea ce e foarte ok ), dar nu stiu cat de usor va fi pentru un incepator sa gaseasca raspunsul pentru o problema asemanatoare ( desi raspunsul e "pe aici pe undeva" ). Pe scurt, as vrea sa incercam sa organizam un pic lucrurile mai frumos ca sa fie usor pentru alti useri sa gaseasca raspunsuri la problemele lor fara sa fie nevoiti sa citeasca prin thread-uri cu zeci de pagini. Thanks.

PPS: Apropo, detin doar 29.61% din toate post-urile de pe forum, deci stai linistit ca mai sunt si altii pe aici care raspund la intrebari sau posteaza lucruri interesante... doar ca, nu toti se pricep la Flex / AIR sau poate se pricep dar sunt un pic mai timizi...
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Anterior

Înapoi la Abobe AIR

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

cron