- 自身没有创建数据库保存全**地区信息,全部靠回调获取
- 支持设置最大地区级别,例如:省,市,县,镇就是4级
- 泛型实体类,可以快速自定义Adapter,不再需要封装成特定实体类(AddressItem)
- 用Object作为地区ID以适配不同业务数据,请根据自己业务进行强转
- 用户最后选完所有地区回调onGotResult方法,第一个参数为地址字符串,第二个参数为选择的最后一个级别地区的实体
快速自定义Adapter,参照SimpleAddressAdapter
快速自定义DialogFragment,参照SimpleAddressDialogFragment
- 2020年04月22日(前两天我的狗子——汤圆 失踪了,怀疑被偷,心情难受,wcnm偷狗贼,希望汤圆能安全回家)
- 改用DialogFragment作为Dialog
- 原来的Dialog中数据混杂难懂,进一步封装成PageData
- 回调接口更名,更语义化
- 可以自定义Adapter来适应自己的地址实体类,不需要重新封装成AddressItem
- 更多变更参照上面的使用方法
- 2021年04月21日
- 重新整活地址选择器,其实地址选择器已经不止于地址选择,只要是层级选择类的都可以继承这个BaseLevelDialogFragment
- 之前忽略了网络请求回调问题,在onNeedAddressList需要大家直接返回List,但是网络请求往往是回调形式,并不是同步请求就能拿到结果的,所以改成 onNeedData(int level, T parentNode, @NonNull BaseLevelDialogFragment.GotDataListener onGotDataListener),可以利用成员变量将onGotDataListener 保存下来,在网络请求到结果后,调用onGotDataListener.onGotData
- 详情可以参照MainActivity
- 可以单独选择一天也可以选择一段时间
- 其中有个CalendarView,基于RecyclerView实现,通过集成BaseCalendarAdapter可以实现自定义Item布局
- 通过设置SelectRule可以自定义一些选择规则。例如:是否开启日期选择功能,最大可以选择多少天,是否可以选择超过今天的日子