1.概述

记得之前做商城项目,需要在地址选择中实现省市区三级联动,方便用户快速的填写地址,当时使用的是一个叫做android-wheel 的开源控件,当时感觉非常好用,唯一麻烦的是需要自己整理并解析省市区的xml文件,思路很简单,但是代码量相对大了些。偶然期间发现了另外一个开源组件,也就是今天要介绍的citypickerview。
github地址:crazyandcoder/citypicker
2. 实现效果
下面给大家演示下实现效果:
3. 实现方法
(1)添加依赖
dependencies {
...
compile 'liji.library.dev:citypickerview:0.7.0'
}
(2)代码实现
这里就不在介绍布局文件了,直接演示实现代码:
package com.mly.panhouye.anchong.activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.lljjcoder.citypickerview.widget.CityPicker;
import com.mly.panhouye.anchong.R;
import com.mly.panhouye.anchong.entity.Anchong_Address;
import com.mly.panhouye.anchong.view.TitleBarView;
import static com.mly.panhouye.anchong.utils.Constant.NEWADDRESS;
public class NewAddressActivity extends BaseActivity {
TitleBarView address_manager_titleBar;
EditText new_address_name,new_address_phone,new_address_address;
Anchong_Address newAddress = new Anchong_Address();
TextView new_address_area;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_address);
initView();
}
//Texview的点击事件
public void chooseArea(View view) {
//判断输入法的隐藏状态
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.hideSoftInputFromWindow(view.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
selectAddress();//调用CityPicker选取区域
}
}
private void selectAddress() {
CityPicker cityPicker = new CityPicker.Builder(NewAddressActivity.this)
.textSize(14)
.title("地址选择")
.titleBackgroundColor("#FFFFFF")
.titleTextColor("#696969")
.confirTextColor("#696969")
.cancelTextColor("#696969")
.province("江苏省")
.city("常州市")
.district("天宁区")
.textColor(Color.parseColor("#000000"))
.provinceCyclic(true)
.cityCyclic(false)
.districtCyclic(false)
.visibleItemsCount(7)
.itemPadding(10)
.onlyShowProvinceAndCity(false)
.build();
cityPicker.show();
//监听方法,获取选择结果
cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {
@Override
public void onSelected(String... citySelected) {
//省份
String province = citySelected[0];
//城市
String city = citySelected[1];
//区县(如果设定了两级联动,那么该项返回空)
String district = citySelected[2];
//邮编
String code = citySelected[3];
//为TextView赋值
new_address_area.setText(province.trim() + "-" + city.trim() + "-" + district.trim());
}
});
}
@Override
protected void initView() {
new_address_name = (EditText) findViewById(R.id.new_address_name);
new_address_phone = (EditText) findViewById(R.id.new_address_phone);
new_address_address = (EditText) findViewById(R.id.new_address_address);
new_address_area = (TextView) findViewById(R.id.new_address_area);
}
}
4.使用说明
摘自github地址:crazyandcoder/citypicker
结果返回
只需传入Context便可获取选择的省市区域的信息,结果返回四项,可根据自己的实际需求进行选择。
方法说明
以上所述是小编给大家介绍的Android中使用开源框架Citypickerview实现省市区三级联动选择,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 省市区三级联动选择
# Android中的TimePickerView(时间选择器)的用法详解
# Android 中TeaPickerView数据级联选择器功能的实例代码
# Android PickerView实现三级联动效果
# Android PickerView滚动选择器的使用方法
# Android PickerView底部选择框实现流程详解
# 默认为
# 的是
# 开源
# 选择器
# 给大家
# 小编
# 两级
# 自己的
# 常州市
# 在此
# 只需
# 江苏省
# 很简单
# 便可
# 只显示
# 另外一个
# 定了
# 该项
# 所述
# 给我留言
相关文章:
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
javascript中的try catch异常捕获机制用法分析
PHP 500报错的快速解决方法
如何快速登录WAP自助建站平台?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何通过FTP空间快速搭建安全高效网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
如何快速生成ASP一键建站模板并优化安全性?
javascript基本数据类型及类型检测常用方法小结
建站主机选择指南:服务器配置与SEO优化实战技巧
宁波免费建站如何选择可靠模板与平台?
湖北网站制作公司有哪些,湖北清能集团官网?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
想学网站制作怎么学,建立一个网站要花费多少?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
如何在云主机快速搭建网站站点?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
如何在香港免费服务器上快速搭建网站?
如何选择美橙互联多站合一建站方案?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
常州企业建站如何选择最佳模板?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
英语简历制作免费网站推荐,如何将简历翻译成英文?
音响网站制作视频教程,隆霸音响官方网站?
C#怎么使用委托和事件 C# delegate与event编程方法
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
大型企业网站制作流程,做网站需要注册公司吗?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
如何构建满足综合性能需求的优质建站方案?
网站图片在线制作软件,怎么在图片上做链接?
如何通过FTP服务器快速搭建网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何通过虚拟主机快速搭建个人网站?
制作网站外包平台,自动化接单网站有哪些?
建站主机选购指南与交易推荐:核心配置解析
公司网站的制作公司,企业网站制作基本流程有哪些?
如何设计高效校园网站?
如何快速建站并高效导出源代码?
如何高效配置香港服务器实现快速建站?
如何通过商城免费建站系统源码自定义网站主题?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
建站之星官网登录失败?如何快速解决?
如何选择最佳自助建站系统?快速指南解析优劣
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何通过建站之星自助学习解决操作问题?
*请认真填写需求信息,我们会在24小时内与您取得联系。