1)开源控件PickerView
GitHub地址:https://github.com/saiwu-bigkoo/Android-PickerView
精仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果
——TimePickerView 时间选择器,支持年月日时分,年月日,年月,时分等格式
——OptionsPickerView 选项选择器,支持一,二,三级选项选择,并且可以设置是否联动
依赖:compile 'com.bigkoo:pickerview:2.0.8'
private ArrayList<ArrayList<ArrayList<String>>> options3Items = new ArrayList<>();
options3Items.add(options3Items_01); |
|||
options3Items.add(options3Items_02); |
|||
options3Items.add(options3Items_03); |
|||
//三级联动效果 |
|||
pvOptions.setPicker(options1Items, options2Items, options3Items, true); |
|||
//设置选择的三级单位 |
|||
// pwOptions.setLabels("省", "市", "区"); |
|||
pvOptions.setTitle("选择城市"); |
|||
pvOptions.setCyclic(false, true, true); |
|||
//设置默认选中的三级项目 |
|||
//监听确定选择按钮 |
|||
pvOptions.setSelectOptions(1, 1, 1); |
|||
pvOptions.setOnoptionsSelectListener(new OptionsPickerView.OnOptionsSelectListener() { |
|||
|
|||
@Override |
|||
public void onOptionsSelect(int options1, int option2, int options3) { |
|||
//返回的分别是三个级别的选中位置 |
|||
String tx = options1Items.get(options1).getPickerViewText() |
|||
+ options2Items.get(options1).get(option2) |
|||
+ options3Items.get(options1).get(option2).get(options3); |
|||
tvOptions.setText(tx); |
|||
vMasker.setVisibility(View.GONE); |
|||
} |
|||
}); |
|||
//点击弹出选项选择器 |
|||
tvOptions.setOnClickListener(new View.OnClickListener() { |
|||
|
|||
@Override |
|||
public void onClick(View v) { |
|||
pvOptions.show(); |
|||
} |
|||
}); |
|||
} |
①解析xml文件
public class ProvinceModel {
private String name;
private List<CityModel> cityList;