我在一个简单的安卓应用程序上工作,这应该是RSS饲料,阅读和显示在屏幕上的信息。我试着在实现代码时遵循谷歌的例子(来源:Android Developers)。
我的代码看起来像这样:
public void fetchXML(String url, Context context) {
try {
URL urlObj = new URL(url);
this.parser = this.xmlPullParserFactory.newPullParser();
InputStream stream = getInputStream(urlObj);
String string = this.extractStringFromInputStream(stream);
this.parser.setInput(new StringReader(string));
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
Log.i(TAG, "value END_DOCUMENT: " + XmlPullParser.END_DOCUMENT + " - my eventType value: " + eventType);
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
if (name.equals("title")) {
title = readTitle(parser);
}
if (parser.getEventType() and!= XmlPullParser.END_TAG) {
Log.i(TAG, "IM IN END TAG");
}
eventType = parser.next();
}
} catch (Exception e) {
Log.e(TAG, "EXCEPTION: ", e);
}
}实际上,它会输出title XML-Tag的内容,但它从不停止while-循环。eventType的值始终为0。它也永远不会进入XmlPullParser.END_TAG。
有人知道我的代码出了什么问题吗?
发布于 2016-05-12 20:03:59
问题是我自己发现的。这只是“继续”的一部分。当我删除它的时候,它起作用了。
https://stackoverflow.com/questions/37110500
复制相似问题