I am parsing the data from my XML file and putting it into an array, which then goes on to output it in another function.
private void parseXML(XmlPullParser parser) throws XmlPullParserException,IOException
{
ArrayList<String> animals = new ArrayList<String>();
int eventType = parser.getEventType();
Animal currentAnimal = null;
while (eventType != XmlPullParser.END_DOCUMENT)
{
String name = null;
switch (eventType)
{
case XmlPullParser.START_DOCUMENT:
//animals = new ArrayList();
break;
case XmlPullParser.START_TAG:
name = parser.getName();
if (name.equalsIgnoreCase( "animal"))
{
currentAnimal = new Animal();
}
else if (currentAnimal != null)
{
if (name.equalsIgnoreCase( "specificLocation"))
{
currentAnimal.specificLocation = parser.nextText();
}
else if (name .equalsIgnoreCase( "name")){
currentAnimal.name = parser.nextText();
}
else if (name .equalsIgnoreCase( "location"))
{
currentAnimal.location= parser.nextText();
}
else if (name .equalsIgnoreCase( "image"))
{
currentAnimal.image= parser.nextText();
}
else if (name .equalsIgnoreCase( "animalInfo"))
{
currentAnimal.animalInfo= parser.nextText();
}
else if (name .equalsIgnoreCase( "todaysFeed"))
{
currentAnimal.todaysFeed= parser.nextText();
}
}
break;
case XmlPullParser.END_TAG:
name = parser.getName();
if (name.equalsIgnoreCase("animal") && currentAnimal != null){
animals.add(currentAnimal);
}
}
eventType = parser.next();
}
printAnimals(animals);
}
I'm getting an error at the line
animals.add(currentAnimal);
which tells me
The method add(String) in the type ArrayList is not applicable for the arguments (AnimalList.Animal)
I originally had Animal instead of string, but I changed it as I couldn't output it, and I wasn't sure if that was why.