我有这种类型的日期来自网络,我在数据列表中解析后列出了所有这些数据
ArrayList<String> countriesid= new ArrayList<String>();
ArrayList<String> countriesName = new ArrayList<String>();
ArrayList<String> cityid= new ArrayList<String>();
ArrayList<String> cityName= new ArrayList<String>();
以下是我的实际数据,采用xml格式,
<Info>
<countryId><![CDATA[1]]></countryId>
<countryName><![CDATA[USA]]></countryName>
<cityId><![CDATA[1]]></cityId>
<cityName><![CDATA[New York]]></cityName>
</Info>
<Info>
<countryId><![CDATA[2]]></countryId>
<countryName><![CDATA[Japan]]></countryName>
<cityId><![CDATA[5]]></cityId>
<cityName><![CDATA[Tokiyo]]></cityName>
</Info>
<Info>
<countryId><![CDATA[6]]></countryId>
<countryName><![CDATA[USA]]></countryName>
<cityId><![CDATA[5]]></cityId>
<cityName><![CDATA[Los Angeles]]></cityName>
</Info>
<Info>
<countryId><![CDATA[19]]></countryId>
<countryName><![CDATA[USA]]></countryName>
<cityId><![CDATA[15]]></cityId>
<cityName><![CDATA[San Diego]]></cityName>
</Info>
<Info>
<countryId><![CDATA[3]]></countryId>
<countryName><![CDATA[Spain]]></countryName>
<cityId><![CDATA[4]]></cityId>
<cityName><![CDATA[Barcelona]]></cityName>
</Data>
注意:已修改 我已经像这样建立了类:
public class FullInfo{
public String countryName;
public String cityName;
public int countryId;
public int cityId;
}
在第一步,我已经删除了列表中所有重复(重复)的国家/地区名称: 并显示如下图片: 我做了什么:
删除重复名称
ArrayList<String> RemoveSameCountry= new ArrayList<String>();// fro temp arraylist
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = countriesName.iterator();
iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
RemoveSameCountry.clear();
RemoveSameCountry.addAll(newList);
工作正常
在列表上显示后,我必须单击USA,然后我必须在列表中显示Cities: 像这样:
If i click USA, How to display list of Cities of USA, I have not idea.
最后,想要显示一个城市的详细信息,点击一个城市。如果我点击纽约,那么显示如下:
答案 0 :(得分:2)
创建信息类
public class CityInfo {
public String countryName;
public String cityName;
public int countryId;
public int cityId;
}
并保留HashMap<String, List<CityInfo>>
字符串(HashMap
的键)可以是countryName
。您的第一个ListView
可以填充keySet
的{{1}}。
假设City ListView具有String对象的数据集。当您单击某一行时,将触发onListItemClick:您可以在其中检索
HashMap