0
XML 파일의 데이터를 구문 분석하고 배열에 넣은 다음 배열을 다른 함수로 출력합니다.Android ArrayList 오류 만들기
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);
}
나는 나에게
유형의 ArrayList에있어서, 추가 (String)를 인수 적용되지 않습니다을 알려줍니다 라인
animals.add(currentAnimal);
(AnimalList에서 오류를 받고 있어요 .Animal)
원래 문자열 대신 Animal을 사용했지만, 나는 그것을 출력 할 수 없었고, 그 이유가 확실하지도 않았다.
그게 내가 원래 가지고 무엇을하지만 – Navvy
개인 무효 printAnimals (ArrayList를 동물) \t { \t \t 동물 [] animalArray = 새로운 동물 [ animals.size()]; \t \t animalArray = animals.toArray (animalArray); \t \t ListView listView = (ListView) findViewById (R.id.listViewAnimals); \t \t ArrayAdapter animalAdapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, animals); \t \t listView.setAdapter (animalAdapter); \t}는 작동하지 않습니다 –
Navvy
코드에서 주석을 읽는 것이 어렵습니다 ... – EJK