Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:嵌套if语句在语句之间跳转_Java_Android_Eclipse - Fatal编程技术网

Java Android:嵌套if语句在语句之间跳转

Java Android:嵌套if语句在语句之间跳转,java,android,eclipse,Java,Android,Eclipse,在我的Android应用程序中,我尝试使用以下代码使用XMLPullParser读取xml文件: while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) { s = xpp.getName();

在我的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子句均不为真时。例如:

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

说到编程,我会说我不是初学者,但我似乎不知道这个问题是从哪里来的

谢谢

没有魔法。
如果在调试时看到控制流按照您描述的方式运行,那么您正在执行的代码可能与源代码不匹配。尝试执行清理和完全重建。

当我遇到条件问题时,我通常会记录我正在测试的值。我以前尝试过清理它。请原谅我的无知,因为我不习惯eclipse,但是正在清理它,然后再次运行它吗?是的。应该已经将代码与源代码同步了。如果您没有尝试,请尝试“全部清除”以强制完成重建。不仅仅是一个干净的项目。您还可以关闭自动生成并手动进行生成。很抱歉,回复延迟,我们已经有一段时间没能处理这个问题了。我尝试了一个干净的所有,也卸载了它从手机上,但我仍然得到的问题。此外,对于行“if(xpp.getText().equalsIgnoreCase(“容器”)”),即使xpp.getText()是title,它也会返回true。