[英]Can't display my ArrayList
Currently new in Java. 目前是Java的新功能。 I have this code where I'm want to store XML parse data for ListView. 我有此代码,我想为ListView存储XML解析数据。 But when I try to display the content of my ArrayList in the logcat, it give me this com.example.azrie.dummyvoice.FeedItem@717d5c6
instead. 但是,当我尝试在日志猫中显示我的ArrayList的内容时,它却给了我这个com.example.azrie.dummyvoice.FeedItem@717d5c6
。 Did I not store the data properly or is there else wrong ? 我是否没有正确存储数据或还有其他错误? Can someone enlighten me on this matter. 有人可以在这件事上给我启发。
This is my parse method 这是我的解析方法
public void parseXMLAndStoreIt(XmlPullParser myParser) {
int event;
String text=null;
try {
event = myParser.getEventType();
FeedItem item = new FeedItem();
while (event != XmlPullParser.END_DOCUMENT) {
String tagName = myParser.getName();
switch (event){
case XmlPullParser.START_TAG:
if(tagName.equalsIgnoreCase("item")){
int eventChild = myParser.next();
while(eventChild != XmlPullParser.END_DOCUMENT){
String tagNameChild = myParser.getName();
switch (eventChild){
case XmlPullParser.START_TAG:
break;
case XmlPullParser.TEXT:
text = myParser.getText();
break;
case XmlPullParser.END_TAG:
if(tagNameChild.equalsIgnoreCase("title")){
item.setTitle(text);
feedItems.add(item);
Log.d("Title", item.getTitle());
}
else if(tagNameChild.equalsIgnoreCase("link")){
item.setLink(text);
feedItems.add(item);
Log.d("Link", item.getLink());
}
else if(tagNameChild.equalsIgnoreCase("description")){
String plain = Html.fromHtml(text).toString();
//stripHtml(text);
item.setDescription(plain);
feedItems.add(item);
Log.d("Description", item.getDescription());
}
else if(tagNameChild.equalsIgnoreCase("pubDate")){
item.setPubDate(text);
feedItems.add(item);
Log.d("pubDate", item.getPubDate());
//Log.d("pudDate",text);
}
else if(tagNameChild.equalsIgnoreCase("media:thumbnail") || tagNameChild.equalsIgnoreCase("media:content") || tagName.equalsIgnoreCase("enclosure")){
//Output test
if(myParser.getAttributeValue(null,"url") != null) {
item.setThumbnailUrl(text);
feedItems.add(item);
Log.d("Thumbnail", item.getThumbnailUrl());
//Log.d("ItemThumbnailUrl",myParser.getAttributeValue(null,"url"));
}
}
else if(tagNameChild.equalsIgnoreCase("item")){
Log.d("Test", "" + feedItems.get(1));
}
break;
}
eventChild = myParser.next();
/*feedItems.add(item);
Log.d("Title", item.getTitle());
Log.d("Link", item.getLink());
Log.d("Description", item.getDescription());
Log.d("pubDate", item.getPubDate());
Log.d("Thumbnail", item.getThumbnailUrl());*/
}
}
break;
case XmlPullParser.TEXT:
break;
case XmlPullParser.END_TAG:
break;
}
event = myParser.next();
}
parsingComplete = false;
}
catch (Exception e) {
e.printStackTrace();
}
}
This 这个
com.example.azrie.dummyvoice.FeedItem@717d5c6
indicates that you are logging (or printing) an object and not a string. 表示您正在记录(或打印)对象而不是字符串。 I would guess that this originate from this line: 我猜想这源于这一行:
Log.d("Test", "" + feedItems.get(1));
Try to implement toString method on the FeedItem class. 尝试在FeedItem类上实现toString方法。 Or if that's not possible try something like 或者,如果不可能,请尝试类似
Log.d("Test", "" + feedItems.get(1).getTitle());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.