android 省市区选择器

demo1链接:https://download.csdn.net/download/meixi_android/10819638

效果1——跳页全屏式地区选择器:

demo2链接:https://download.csdn.net/download/meixi_android/10823744

样式2——dialog市区选择器:

实现方法:

1、添加依赖

compile 'cn.qqtheme.framework:WheelPicker:1.4.3'
compile 'com.alibaba:fastjson:1.1.54.android'

2、自定义底部地区选择器dialog

/*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/12/3 08*/public class BecomePicktask extends AsyncTask<String, Void, ArrayList<Province>> {private WeakReference<Activity> weakReference;private ProgressDialog dialog;private Callback callback;private String selectedProvince = "", selectedCity = "", selectedCounty = "";private boolean hideProvince = false;private boolean hideCounty = false;//隐藏区truepublic BecomePicktask(Activity activity) {weakReference = new WeakReference<>(activity);}public void setHideProvince(boolean hideProvince) {this.hideProvince = hideProvince;}public void setHideCounty(boolean hideCounty) {this.hideCounty = hideCounty;}public void setCallback(Callback callback) {this.callback = callback;}@Overrideprotected void onPreExecute() {Activity activity = weakReference.get();if (activity != null) {dialog = ProgressDialog.show(activity, null, "正在初始化数据...", true, true);}}@Overrideprotected ArrayList<Province> doInBackground(String... params) {if (params != null) {switch (params.length) {case 1:selectedProvince = params[0];break;case 2:selectedProvince = params[0];selectedCity = params[1];break;case 3:selectedProvince = params[0];selectedCity = params[1];selectedCounty = params[2];//隐藏区break;default:break;}}ArrayList<Province> data = new ArrayList<>();try {Activity activity = weakReference.get();if (activity != null) {String json = ConvertUtils.toString(activity.getAssets().open("city.json"));data.addAll(FastJsonUtils.getObjectsList(json, Province.class));}} catch (Exception e) {e.printStackTrace();}return data;}@Overrideprotected void onPostExecute(ArrayList<Province> result) {dialog.dismiss();if (result.size() > 0) {Activity activity = weakReference.get();if (activity != null) {AddressPicker picker = new AddressPicker(activity, result);picker.setHideProvince(hideProvince);picker.setHideCounty(hideCounty);if (hideCounty) {picker.setColumnWeight(1 / 3.0, 2 / 3.0);//将屏幕分为3份,省级和地级的比例为1:2picker.setSelectedItem(selectedProvince, selectedCity);} else {picker.setColumnWeight(2 / 8.0, 3 / 8.0, 3 / 8.0);//省级、地级和县级的比例为2:3:3picker.setSelectedItem(selectedProvince, selectedCity, selectedCounty);}
//                picker.setSelectedItem(selectedProvince, selectedCity, selectedCounty);//隐藏区picker.setOnAddressPickListener(callback);picker.show();}} else {callback.onAddressInitFailed();}}public interface Callback extends AddressPicker.OnAddressPickListener {void onAddressInitFailed();}}

添加 city.json 到asset

 


city.json数据结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCF - 201703-1 - 分蛋糕

问题描述 试题编号&#xff1a; 201703-1试题名称&#xff1a; 分蛋糕时间限制&#xff1a; 1.0s内存限制&#xff1a; 256.0MB问题描述&#xff1a;   小明今天生日&#xff0c;他有n块蛋糕要分给朋友们吃&#xff0c;这n块蛋糕&#xff08;编号为1到n&#…

mongoose Topology was destroyed 处理

在用 node 的 mongoose 模块操作 mongodb 数据库的时候&#xff0c;本来正常返回数据&#xff0c;但是有时候会返回空白页&#xff0c;控制台里报错&#xff1a; Topology was destroyed数据库连接代码如下&#xff1a; var mongoose require(mongoose); mongoose.connect(m…

windows 下oracle 数据库 rman 备份

明确目标编写rman批处理文件 目标&#xff1a; A 每天夜间2点执行备份 B数据库全备&#xff0c;同时备份控制文件及归档日志文件&#xff0c;备份文件保存至&#xff1a;F:\backup\目录下&#xff0c;并在完成归档日志文件备份后&#xff0c;自动删除已备份的归档日志&#xff…

android xml 解析

创建xml 文件 <root><province name"安徽省"><city name"安庆市"><district name"枞阳县" zipcode"246000" /><district name"大观区" zipcode"246000" /><district name"…

js触发点击事件

最简单的触发单击事件肯定是elem.click()&#xff0c;平时在不需要考虑兼容性的场合我都是这么干的&#xff0c;但是毕竟这个方法有兼容性&#xff08;具体兼容性如何没做过测试&#xff09;&#xff0c;所以还是要掌握一个通用的方法。 以下代码是网上比较容易找到的一段代码&…

MacOS 升级后出现 xcrun: error: invalid active developer path, missing xcrun

升级macOS mojove&#xff0c;终端里使用git的时候&#xff0c;弹出一行莫名其妙的错误&#xff1a; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun解决方法&am…

windows系统下oracle数据库rman备份记录(实战篇)

在windows 2003系统中装了oracle10G数据库&#xff0c;同时建了多个实例&#xff0c;这个备份应该怎么做呢&#xff1f; 在网上查了N多的资料&#xff0c;终于了解了一些&#xff1a; 冷备&#xff1a;把数据库已执行关闭后&#xff0c;对数据库做全备&#xff1b;需要停机&…

mac mongodb 安装

1、进入目录 cd /usr/local2、下载对应版本 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.3.tgz3、解压到当前目录 sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz4、重命名为mongodb&#xff0c;主要是方便管理 sudo mv mongodb-osx-x86_64-4.…

format 参数说明

oracle 数据库中&#xff0c;可以用format参数是指定备份集的文件名格式 使用FORMAT参数时可使用的各种替换变量&#xff0c;如下&#xff1a; %c&#xff1a;备份片的拷贝数(从1开始编号)&#xff1b; %d&#xff1a;数据库名称&#xff1b; %D&#xff1a;位于该月中的天数 (…

【自动化__持续集成】___java___XML__DOM4操作

一、代码如下 package com.wujianbo.five;import java.io.File; import java.io.FileOutputStream; import java.util.List;import javax.annotation.Generated; import javax.swing.text.html.HTMLDocument.Iterator;import org.dom4j.Document; import org.dom4j.DocumentHel…

android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小

long creatTimemBindCheck.remainPaymentTime; int shi (int)mBindCheck.remainPaymentTime/(3600*1000); int yu1 (int)mBindCheck.remainPaymentTime%(3600*1000); int fen (int)yu1/(60*1000); int yu2 (int)yu1%(60*1000); int mia (int)yu2/1000; 获取系统时间戳 pub…

mac 下载的破解软件显示 文件已损坏

其实&#xff0c;这是mac系统加强了安全机制&#xff0c;默认不允许用户自行下载安装应用程序&#xff0c;只能从Mac App Store里安装应用。 1、执行下面命令 sudo spctl --master-disable2、打开系统偏好设置 安全性与隐私&#xff0c;若显示任何来源&#xff0c;大功告成

rman全备时,配置项如何设置?

rman 全备设置哪些配置呢&#xff1f;如果是小库的话 下面这些就差不多了。。 CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO %F; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO %F; # defa…

【VBA】多条件去重

Function kaidan(txt)Dim i As IntegerDim arrSet d CreateObject("scripting.dictionary")For i 1 To Worksheets("汇-销").Range("a65536").End(xlUp).Rowarr Worksheets("汇-销").Range("a1:s" & i).Value If arr…

工作108:vue里面wangEdit编辑器使用

WangEdit使用 <template lang"html"><div class"editor"><!--定义的为表头的属性--><div ref"toolbar" class"toolbar"></div><!--定义的为表格的属性--><div ref"editor" class&…

android 查看图片、保存图片

配置photoview-library-1.2.2.jar 到libs photoview-library-1.2.2.jar 下载地址 http://pan.baidu.com/s/1nviEKtj MainActivity import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.i…