gpt4 book ai didi

java - 安卓 : Nested if statements jump between statements

转载 作者:行者123 更新时间:2023-12-02 08:24:40 28 4
gpt4 key购买 nike

在我的 Android 应用程序中,我尝试使用 XMLPullParser 使用以下代码读取 xml 文件:

while (eventType != XmlPullParser.END_DOCUMENT) 
{
if (eventType == XmlPullParser.START_TAG)
{
s = xpp.getName();
if (xpp.getName().equalsIgnoreCase("container"))
{
state = stateContainer;
con = new Container();
con.setId(xpp.getAttributeValue(0));
con.setParentId(xpp.getAttributeValue(1));
con.setRestricted(xpp.getAttributeValue(2));
}
else if (xpp.getName().equalsIgnoreCase("title"))
{
state = stateTitle;
}
else
{
state = stateUnknown;
}
}
else if (eventType == XmlPullParser.TEXT)
{
s = xpp.getText();
if (state == stateTitle)
{
con.setTitle(s);
}
}
else if (eventType == XmlPullParser.END_TAG)
{
s = xpp.getText();
if (xpp.getText().equalsIgnoreCase("container"))
{
listAdapter.add(con);
}
}
eventType = xpp.next();
}

但是,它似乎跳到了“listAdapter.add(con);”行当其他 if 语句中没有其他 if 子句为 true 时。例如:

else if (eventType == XmlPullParser.TEXT) 返回true。然后,它尝试 if (state == stateTitle),返回 false。它应该跳转到 eventType == xpp.next();,但会跳转到嵌套在不同 if 语句中的 listAdapter.add(con);。其他一些 if 语句也会发生这种情况。

我想说我在编程方面不是初学者,但我似乎无法弄清楚这个问题来自哪里!

谢谢

最佳答案

没有什么魔法。

如果在调试时您看到控制流按照您所描述的方式运行,那么您正在执行的代码可能与源代码不匹配。尝试进行干净且完整的重建。

关于java - 安卓 : Nested if statements jump between statements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4770502/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com