在build.gradle 中:
[Java] 查看源文件 复制代码
dependencies { ... compile 'com.smarttop:jd-address:1.0.8' }
[Java] 查看源文件 复制代码
AddressSelector selector = new AddressSelector(context); selector.setOnAddressSelectedListener(new AddressSelector.OnAddressSelectedListener() { @Override public void onAddressSelected(Province province, City city, County county, Street street) { // blahblahblah } }); View view = selector.getView(); content.addView(view);
[Java] 查看源文件 复制代码
//设置字体的大小 selector.setTextSize(14); //设置指示器的背景颜色 selector.setIndicatorBackgroundColor("#00ff00");
或
[Java] 查看源文件 复制代码
selector.setIndicatorBackgroundColor(android.R.color.holo_orange_light); //设置字体的背景 selector.setBackgroundColor(android.R.color.holo_red_light); //设置字体获得焦点的颜色 selector.setTextSelectedColor(android.R.color.holo_orange_light); //设置字体没有获得焦点的颜色 selector.setTextUnSelectedColor(android.R.color.holo_blue_light); //自定义dialog的样式 dialog.setTextSize(14);//设置字体的大小 dialog.setIndicatorBackgroundColor(android.R.color.holo_orange_light);//设置指示器的颜色 dialog.setTextSelectedColor(android.R.color.holo_orange_light);//设置字体获得焦点的颜色 dialog.setTextUnSelectedColor(android.R.color.holo_blue_light);//设置字体没有获得焦点的颜色
BottomDialog 弹出地址选择器的dialog的用法及回调BottomDialog dialog = new BottomDialog(context);dialog.setOnAddressSelectedListener(this);dialog.setDialogDismisListener(this);dialog.show(); @Override public void onAddressSelected(Province province, City city, County county, Street street) { provinceCode = (province == null ? "" : province.code); cityCode = (city == null ? "" : city.code); countyCode = (county == null ? "" : county.code); streetCode = (street == null ? "" : street.code); LogUtil.d("数据", "省份id=" + provinceCode); LogUtil.d("数据", "城市id=" + cityCode); LogUtil.d("数据", "乡镇id=" + countyCode); LogUtil.d("数据", "街道id=" + streetCode); String s = (province == null ? "" : province.name) + (city == null ? "" : city.name) + (county == null ? "" : county.name) + (street == null ? "" : street.name); tv_selector_area.setText(s); if (dialog != null) { dialog.dismiss(); } } @Override public void dialogclose() { if(dialog!=null){ dialog.dismiss(); } }
有朋友问,怎么使用自己的数据源,这里我说明一下,因为我的数据库里的地址表,省,市,区,县,镇,都是用同一个表,根据parentId来查询的。
想用自己的数据源,就需要把自己的数据源里,各个字段与我的数据源里字段一一对应(id, parentId, code, name),分别对应的中文意思(id,父id(可根据父id查询下一级),地址编码,中文名字)
然后在你的项目里的assets目录下,放上你的数据库,名字一定是"address.db".
如果你用的是android studio 应该放在在源数据库里要添加一个数据 AdressBean.ChangeRecordsBean changeRecordsBean = new AdressBean.ChangeRecordsBean();
changeRecordsBean.parentId = 0; changeRecordsBean.name = "测试省"; changeRecordsBean.id = 35; addressDictManager.inserddress(changeRecordsBean);还可以进行已下操作 增加一个数据 inserddress(AdressBean.ChangeRecordsBean adress) 增加一个集合insertAddress(List list)
更新数据 updateAddressInfo(AdressBean.ChangeRecordsBean adress)
查找数据 getAddressList()
获取省市列表 getProvinceList()
根据省市id 获取城市列表 getCityList(int provinceId)
获取城市对应的区,乡镇列表 getCountyList(int cityId)
获取区,乡镇对应的街道列表 getStreetList(int countyId)
查找消息临时列表中是否存在这一条记录 isExist()
相关源码推荐:
- DragGridView拖拽排序(14925次查看,110次下载)
- bihu逼乎(19971次查看,190次下载)
- Yhb-2.0有惠报(7865次查看,54次下载)
- 简单易用的星级控件(10817次查看,97次下载)
- IOS_Style-DragDeleteListView(3651次查看,9次下载)