0
ListViewで都市リストを表示したいXML解析を使用していますが、Logcatでは応答がありますが、リストビューでは最後のアイテムしか表示されませんでした。その中に。 このListViewの最後のアイテムをXML解析を使用して表示
私のXML解析コードを解決するために助けてください
class XmlPullParserHandler {
private List<City> cityArrayList = new ArrayList<City>();
private City cities;
private String text;
public List<City> getCitiess() {
return cities;
}
public List<City> parse(InputStream is) {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(is, null);
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagname = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagname.equalsIgnoreCase("city")) {
// create a new instance of cities
cities = new City();
}
break;
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase("Area")) {
// add cities object to list
cityArrayList.add(cities);
} else if (tagname.equalsIgnoreCase("AreaName") {
cities.setAreaName(text);
} else if (tagname.equalsIgnoreCase("CityCode")) {
cities.setCityCode(text);
} else if (tagname.equalsIgnoreCase("AreaCode")) {
cities.setAreaCode(text);
}
break;
default:
break;
}
eventType = parser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return cityArrayList;
}
}
以下の設定アダプタのコードのように見えるが
List<City> cities = null;
try {
XmlPullParserHandler parser = new XmlPullParserHandler();
InputStream is = getAssets().open("cityapi/citylist.xml");
cities = parser.parse(is);
AdapterSearchCity adapter = new AdapterSearchCity(ActivityCitySearch.this, cities);
searchListview.setAdapter(adapter);
} catch (IOException e) {
e.printStackTrace();
}
を下回っている私のXMLは私が
<city>
<Area>
<AreaName>L.A</AreaName>
<CityCode>ABC</CityCode>
<AreaCode>XYZ</AreaCode>
</Area>
</city>
以下のようなものです私が間違っている場所を取得しないでください
デバッグしましたか? cityArrayListのサイズは? – Raghavendra
ええと、私はデバッグ... –
都市arraylistのサイズは? – Raghavendra