Android-PickerView 3.x版 市-县-乡 三级联动
来源:互联网 发布:淘宝杂货铺推荐 编辑:程序博客网 时间:2024/05/01 00:08
以前很少自己写demo,都是直接用到程序上,不行再改,其实这样越写思路越乱,不如写demo直观清晰,还能有所总结。
所以啦~~今天要把我写的demo放出来啦,给自己留点东西,也给大家方面使用~
首先在build.gradle文件中添加
compile 'com.contrarywind:Android-PickerView:3.2.5'
这是3.X版本哦,比2.X的更新了:
1、代码简洁
2、多了很多字体颜色等的设置
3、数据源可以使用实体类,只需要在实体类中继承IPickerViewData
4、如果不喜欢目前的布局,还可以自定义布局
是不是觉得功能一下丰富了呢,现在就来使用吧~
下面的代码是给地区联动滚轮初始化赋值
pvOptions = new OptionsPickerView.Builder(activity, new OptionsPickerView.OnOptionsSelectListener() { @Override public void onOptionsSelect(int options1, int option2, int options3, View v) { //返回的分别是三个级别的选中位置 String tx = citylist.get(options1).getPickerViewText() + " " + countyLists.get(options1).get(option2).getPickerViewText() + " " + countryListss.get(options1).get(option2).get(options3).getPickerViewText(); location.setText(tx); } }) .setContentTextSize(18)//滚轮文字大小 .build(); pvOptions.setPicker(citylist, countyLists, countryListss);
我只设置了滚轮中字体的大小,其他的设置还有
.setSubmitText("确定")//确定按钮文字 .setCancelText("取消")//取消按钮文字 .setTitleText("城市选择")//标题 .setSubCalSize(18)//确定和取消文字大小 .setTitleSize(20)//标题文字大小 .setTitleColor(Color.BLACK)//标题文字颜色 .setSubmitColor(Color.BLUE)//确定按钮文字颜色 .setCancelColor(Color.BLUE)//取消按钮文字颜色 .setTitleBgColor(0xFF333333)//标题背景颜色 Night mode .setBgColor(0xFF000000)//滚轮背景颜色 Night mode .setContentTextSize(18)//滚轮文字大小 .setLinkage(false)//设置是否联动,默认true .setLabels("省", "市", "区")//设置选择的三级单位 .setCyclic(false, false, false)//循环与否 .setSelectOptions(1, 1, 1) //设置默认选中项 .setOutSideCancelable(false)//点击外部dismiss default true .isDialog(true)//是否显示为对话框样式
其实这样就已经差不多介绍完了pickerview3.x的展示,最后还有一点是数据的获取,我这里用的是本地数据库,然后循环出市、县、乡的联动数据,赋值给pickerview
DBManager dbManager = new DBManager(activity); SQLiteDatabase sqLiteDatabase = dbManager.DBManager(activity.getPackageName()); CityBean henan = dbManager.query(sqLiteDatabase, new String[]{"areaid,name,parentid"}, "name like ?", new String[]{"%河南%"}); String henanCode = henan.getAreaid(); citylist = dbManager.queryByCode(sqLiteDatabase, new String[]{"areaid,name,parentid"}, "parentid=?", new String[]{henanCode});//城市集合 for (int i = 0; i < citylist.size(); i++) { CityBean city = citylist.get(i); String cityCode = city.getAreaid(); ArrayList<CityBean> countylist = dbManager.queryByCode(sqLiteDatabase, new String[]{"areaid,name,parentid"}, "parentid=?", new String[]{cityCode}); countyLists.add(countylist);//县城集合 ArrayList<ArrayList<CityBean>> countryLists = new ArrayList<>(); for (int j = 0; j < countylist.size(); j++) { CityBean county = countylist.get(j); String countyCode = county.getAreaid(); ArrayList<CityBean> countrylist = dbManager.queryByCode(sqLiteDatabase, new String[]{"areaid,name,parentid"}, "parentid=?", new String[]{countyCode}); countryLists.add(countrylist); } countryListss.add(countryLists);//乡集合 } sqLiteDatabase.close();
网上大多数示例都是从json中循环,我觉得数据太多,还有查询的需求不太一样,就放了数据库,具体数据库操作,给大家奉上我写的demo源码,大家可以下载直接运行~~~
pickerviewDemo
最后附上github中的pickerview源码,和说明文档,大家有兴趣的可以去学习哦~~
源码:https://github.com/Bigkoo/Android-PickerView
文档:https://github.com/Bigkoo/Android-PickerView/wiki/中文说明文档(3.x版)
阅读全文
0 0
- Android-PickerView 3.x版 市-县-乡 三级联动
- 基于github 开源框架Android-PickerView-master实现省市三级联动
- Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置
- Android, 省市县三级联动
- 读取本地json数据实现省市区三级联动PickerView
- 使用pickerview实现(省市区)地址选择器的三级联动
- 安卓学习笔记---Android-PickerView实现 3D滚轮效果(时间选择器、省市区三级联动,单项选择效果)
- android-wheel三级联动
- Android 省市区三级联动
- android 省市区三级联动
- Android三级联动示例
- Android-省市区三级联动
- 三级联动android-wheel
- Android 城市三级联动
- Android省市区三级联动
- android 省市区三级联动
- android 三级联动,二级联动,省市县选择器
- JavaScript数据源版省市县三级联动
- asoc widget path route(audio_map)
- 多维标度法(MDS)的Python实现
- MySql基础知识、存储引擎与常用数据类型
- 2017上海市高校程序设计邀请赛_I
- 数据库对象的优化
- Android-PickerView 3.x版 市-县-乡 三级联动
- maven项目设置编译的jdk版本
- webupload flash上传和整合springmvc
- BZOJ2190: [SDOI2008]仪仗队 题解 【数论】【素数筛】
- mongoDB出征篇——windows与linux下安装
- activity里面包含edittext,进入页面时,影藏键盘,电话号码合法性判断
- Common Subsequence POJ
- iOS
- ubuntu16.04下的Anaconda环境部署小结