Simplified Android SAX XML Parsing Problem -
i have seen methods of simplified android sax xml parsing.
http://www.ibm.com/developerworks/opensource/library/x-android/
i have parsed data, can't seem display screen using looped textviews.
this androidsaxfeedparser class...
public class androidsaxfeedparser extends basefeedparser{ final magazinelist magazinelist = new magazinelist(); protected androidsaxfeedparser(string magazinefeaturedurl) { super(magazinefeaturedurl); // todo auto-generated constructor stub } @override public list<magazinelist> parse() { // todo auto-generated method stub rootelement root = new rootelement("maintag"); final list<magazinelist> magazines = new arraylist<magazinelist>(); element item = root.getchild("item"); item.setendelementlistener(new endelementlistener(){ @override public void end() { // todo auto-generated method stub magazines.add(magazinelist); } }); item.getchild("name").setendtextelementlistener(new endtextelementlistener(){ @override public void end(string name) { // todo auto-generated method stub magazinelist.setname(name); } }); item.getchild("imgurl").setendtextelementlistener(new endtextelementlistener() { @override public void end(string imgurl) { // todo auto-generated method stub magazinelist.setimgurl(imgurl); } }); item.getchild("date").setendtextelementlistener(new endtextelementlistener() { @override public void end(string date) { // todo auto-generated method stub magazinelist.setdate(date); } }); item.getchild("description").setendtextelementlistener(new endtextelementlistener() { @override public void end(string description) { // todo auto-generated method stub magazinelist.setdescription(description); } }); item.getchild("price").setendtextelementlistener(new endtextelementlistener() { @override public void end(string price) { // todo auto-generated method stub magazinelist.setprice(price); } }); item.getchild("download").setendtextelementlistener(new endtextelementlistener() { @override public void end(string download) { // todo auto-generated method stub magazinelist.setdownload(download); } }); return magazines; } } this object model class...
public class magazinelist { private arraylist<string> name = new arraylist<string>(); private arraylist<string> imgurl = new arraylist<string>(); private arraylist<string> date = new arraylist<string>(); private arraylist<string> price = new arraylist<string>(); private arraylist<string> description = new arraylist<string>(); private arraylist<string> download = new arraylist<string>(); public arraylist<string> getname() { return name; } public void setname(string name) { this.name.add(name); } public arraylist<string> getimgurl(){ return imgurl; } public void setimgurl(string imgurl){ this.imgurl.add(imgurl); } public arraylist<string> getdate() { return date; } public void setdate(string date) { this.date.add(date); } public arraylist<string> getprice() { return price; } public void setprice(string price) { this.price.add(price); } public arraylist<string> getdescription() { return description; } public void setdescription(string description) { this.description.add(description); } public arraylist<string> getdownload() { return download; } public void setdownload(string download) { this.download.add(download); } } the question is... how make display on main activity?
public void oncreate(bundle savedinstancestate) { magazinelist magazinelist = null; private list<magazinelist> magazines = null; linearlayout layout = new linearlayout(this); layout.setorientation(1); textview name[]; textview imgurl[]; textview date[]; textview description[]; textview price[]; textview download[]; androidsaxfeedparser saxparser = new androidsaxfeedparser(<my website>); magazines = saxparser.parse(); for(magazinelist magazinelist : magazines){ name = new textview[magazinelist.getname().size()]; imgurl = new textview[magazinelist.getname().size()]; date = new textview[magazinelist.getname().size()]; description = new textview[magazinelist.getname().size()]; price = new textview[magazinelist.getname().size()]; download = new textview[magazinelist.getname().size()]; (supposingly should data here... what's next? perhaps have syntax errors when declaring textviews, i'm not sure. please out.) } }
um, i'm no java expert, i've never seen you're doing textviews. that's array notation.
try instead (assuming parsing code working correctly)
wait, i'm thrown off you're doing here magazinelist class. okay, first things, textviews, you're going want use this:
name = new textview(this); name.settext(/*your magazinelist getter name*/); name.setlayoutparams(new linearlayout.layoutparams(layoutparams.fill_parent, layoutparams.wrap_content); layout.addview(name); are these going list? doing them? if you're trying make sure content getting parsed, run debugger , check magazinelist object after running parsing.
as far magazinelist class...maybe i'm misunderstanding, should have magazine class, defines single magazine , name, date, etc., can use arraylist<magazine> create list of magazines. can use foreach loop iterate through them, or adapt them custom listview.
example magazine class:
public class magazine { private string name, imgurl, date, price, description, download; public string getname() { return name; } public void setname(string name) { this.name = name; } public string getimgurl(){ return imgurl; } public void setimgurl(string imgurl){ this.imgurl = imgurl; } public string getdate() { return date; } public void setdate(string date) { this.date = date; } public string getprice() { return price; } public void setprice(string price) { this.price = price; } public string getdescription() { return description; } public void setdescription(string description) { this.description = description; } public string getdownload() { return download; } public void setdownload(string download) { this.download = download; } } then need extend arrayadapter that'll take in arraylist or magazine[] , display listview.
Comments
Post a Comment