仿IOS城市选择器,2级联动,也支持2

在build里面加入使用的包

//引入城市插件包
implementation 'com.contrarywind:Android-PickerView:4.1.6'

在页面写入需要使用的类

private ArrayList<ProvinceBean> options1Items = new ArrayList<>();
private ArrayList<ArrayList<String>> options2Items = new ArrayList<>();

然后在需要使用的地方加入以下代码即可

OptionsPickerView pvOptions = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() {
    @Override
    public void onOptionsSelect(int options1, int option2, int options3 ,View v) {
        //返回的分别是三个级别的选中位置
        String tx = options1Items.get(options1).getPickerViewText()
                + options2Items.get(options1).get(option2);
        tv_show.setText(tx);
    }
}).build();
pvOptions.setPicker(options1Items, options2Items);
pvOptions.show();

然后在调用上述代码前先执行如下代码片段

private void getOptionData() {

     options1Items.add(new ProvinceBean(0, "北京", "描述部分", "其他数据"));
     options1Items.add(new ProvinceBean(1, "天津", "描述部分", "其他数据"));
     ArrayList<String> options2Items_01 = new ArrayList<>();
     options2Items_01.add("东城区");
     options2Items_01.add("西城区");
     ArrayList<String> options2Items_02 = new ArrayList<>();
     options2Items_02.add("和平区");
     options2Items_02.add("河东区");
     options2Items_02.add("河西区");
     
     options2Items.add(options2Items_01);
     options2Items.add(options2Items_02);
}

更详细请参考demo下载地址https://download.csdn.net/download/as425017946/10632005

Guess you like

Origin blog.csdn.net/as425017946/article/details/82151585