在我的 Android Activity 中,我有以下课程:
class Categoria {
public String nome;
public String id;
}
在另一个类中,我有一个遍历数组的循环,并且在该数组的每个条目中都必须提供这两个 Categoria 类的属性。但它返回 null 因为变量在我的 Categoria 类中以 null 开头。循环如下:
ArrayList<Categoria> categorias = null;
int eventType = parser.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT){
String name = null;
switch(eventType){
case XmlPullParser.START_DOCUMENT:
categorias = new ArrayList<Categoria>();
break;
case XmlPullParser.START_TAG:
name = parser.getName();
if("categoria".equalsIgnoreCase(name)){
Categoria catAtual = new Categoria();
} else if("nome".equalsIgnoreCase(name)){
catAtual.nome = parser.nextText();
} else if("id".equalsIgnoreCase(name)){
catAtual.id = parser.nextText;
}
break;
case XmlPullParser.END_TAG:
name = parser.getName();
if(name.equalsIgnoreCase("categoria") && catAtual != null){
categorias.add(catAtual);
}
break;
}
eventType = parser.next();
}
快速查看,我可以运行此代码而不会出现更多问题,但 Eclipse 不会让我这样做,因为他在两行中发现并出错。这个:
catAtual.nome = parser.nextText();
和这个:
catAtual.id = parser.nextText();
显示此错误:
catAtual 无法解析为变量
我相信这是因为该对象是在一个案例中创建的,并且正在另一个案例中使用。是否有一种解决方法不会损害我的整个代码?
提前致谢。