Android PickerView实现三级联动效果实现三级联动效果
GitHub有一个开源控件PickerView,可以实现三级联动的效果。虽然该控件使用非常简单,但是填充数据异常繁琐。GitHub
上的Demo在填充数据的时候是一条一条地填充的,代码过于冗余。下面提供一种简便的方式来实现。
(1)在app目录下新建一个assets文件夹,将province_data.xml文件复制到该文件夹下,该XML文件里保存了全国的省市县的地
址数据。
(2)使用SAX解析xml文件中的数据,并将数据填充到PickerView这个控件中。
—ProvinceModel—
public class ProvinceModel implements IPickerViewData
{
private String name;
private List<CityModel> cityList;
public ProvinceModel()
{
super();
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public List<CityModel> getCityList()
{
return cityList;
}
public void setCityList(List<CityModel> cityList)
{
this.cityList = cityList;
}
@Override
public String getPickerViewText()
{
return name;
}
}
—CityModel—
public class CityModel implements IPickerViewData
{
private String name;
private List<DistrictModel> districtList;
public CityModel()
{
super();
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;