我不确定这是不是一个好问题,但我真的被这个阻止了。需要一些建议。
我正在开发一款Android应用,其中应用的一部分是在2个不同的菜单中检索2个单独的RSS源。
我对两个Feed使用相同的代码,但这两个Feed都出现了“怪异”。
我使用的一些网址很好,标题排列良好,而我使用的其他网址,如我需要的网址(一个来自ReverbNation(节目时间表),一个来自Facebook(墙上馈送)),结束显示所有'分裂'。
当我将结果放入ListView时,我看到结果返回时,一些字符串被拆分为单独的字符串/列表视图项,一些字符串甚至是空白的,并显示为空白列表视图项。< / p>
有人对我有什么建议吗?我知道这是一个模糊的问题,但我在这里碰壁了。
代码:
private class RSSHandler extends DefaultHandler
{
final int stateUnknown = 0;
final int stateTitle = 1;
final int stateLink = 2;
int state = stateUnknown;
@Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub
}
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
localnames.add(localName);
if (localName.equalsIgnoreCase("title"))
{
state = stateTitle;
} else if (localName.equalsIgnoreCase("link")){
state = stateLink;
} else if (localName.equalsIgnoreCase("item")){
Log.d("Tour", "item");
}
else
{
state = stateUnknown;
}
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
state = stateUnknown;
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
String strCharacters = new String(ch, start, length);
xmlStrings.add(strCharacters);
if (state == stateTitle)
{
item.add(strCharacters);
} else if (state == stateLink)
{
itemLink.add(strCharacters);
}
}