Android省市区三级联动控件

  最近有需求需要实现省市区三级联动,但是发现之前的实现不够灵活,自己做了一些优化。为了方便以后使用,抽离出来放在了github上WheelView。同时把其核心库放在了JCenter中了,可以直接引用。也可以参考项目中的Demo进行引用
  下面介绍一下如何使用
  如果用的是AndroidStudio那么直接在build.gradle文件中添加依赖:
  

dependencies {
    compile 'chuck.WheelItemView:library:1.0.1'
 }

  
  成功引入库之后,可以在需要弹出省市区选择框的页面生成一AddressPickerView 实例。
  

pickerView = new AddressPickerView(this);

  下面来说说需要的数据源,我对数据做了抽象,在使用的时候,将自己的数据model实现IWheelViewModel接口就可以了,如下:
  

public class AddressModel implements IWheelViewModel {
   
    public String addressName;
    public String addressId;

    @Override
    public String getValueString() {
        return addressName;
    }

    @Override
    public String getValueId() {
        return addressId;
    }
}

  而后,就是讲你自己从服务器或者本地数据库得到到的数据按照一定的格式组件成三级数据List,这里可能会有一点复杂,需要在组装的过程中小心一定,省市区要对应不然数据会错乱。组装数据源,最后得到省市区对应的List:
  

 private List<IWheelViewModel> mOneItems = new ArrayList<>();

 private List<List<IWheelViewModel>> mTwoItems;

 private List<List<List<IWheelViewModel>>> mThreeItems;

  将数据源填充到View中:
  

//设置三级数据
        pickerView.setPickerData(mOneItems, mTwoItems, mThreeItems, true);

  给确定和关闭按钮设置监听:
  


                
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值