自定义组合控件之省市区三级联动选择
需求
- 一般的购物网站都会有收件地址的填写,为了让用户快速输入自己想要的地址,将全国省市区地址预定好,用户只要动动手指选择就可以。
- 做这个组合控件之前,是由于项目的需要,就是做地址管理的模块,当时想模仿京东商城的实现,但时间和水平有限,所以将就的做了如下实现。
- 先罗列当时开发前后的设计思路
设计思路
-
地址管理模块
功能: 增删该查 三级联动 默认地址
-
状态1:用户未登录
入口1:在商品界面, 显示:显示发送至:地址显示-->省,市,区;整个视图属于自定义组合控件,点击整个控件监听点击事件,显示三级地址选项,选择顺序:省,市,区 数据加载和缓存 持久化缓存:本地 非持久化缓存:内存 动画:点击后从屏幕下方往上弹出动画,或者往下弹出可选择的listView,可以放在Poupwindow中显示或者是alertDialog 选择:选择 区 完成后自动关闭弹出框,将数据显示到自定义控件中的Textview中 数据回显:用户选择后,保存在sharepreferences中,每次进入商品详情界面,就读取数据回显。(后面发现是在存在服务器上) 数据传送:用户结算时将数据传递给用户 入口2:在我的中心界面,看不到链接
-
状态2:用户登录:
入口1:在商品界面,显示用户已有的地址列表 下面可以显示其他地址:三级联动-->省市区 入口2:在我的中心界面,只有用户登录状态可见账户管理连接,进入账户管理-->地址管理连接 数据加载和缓存 持久化缓存:本地,服务器数据库 非持久化缓存:内存 地址管理界面:头部应该是可以在框架里固定,中间listview展示不同的地址条目,底部显示新建按钮 Listview条目信息:收件人姓名,联系电话,联系地址 设为默认值,编辑,删除 新建地址的界面: 收货人: 手机号码: 选择联系人:需要读取联系人列表,activity的跳转选择联系人,intent传递意图返回数据 所在地区:又是三级联动:省市区 详情地址: