设计一个两栏切皆可滑动的日期选择器
发现不记录一下开发的过程的话一出现问题很难理清楚啊(╯‵□′)╯︵┻━┻
大概就是这样一个东西:
要实现的功能有:
月份选择器可滑动可点击,且月份切换时周视图也随之改变为当月的1号。
周选择器可滑动可点击,点击后通过interface将所选择的日期传递出去。
周选择器在滑动至其他月份时使月选择器自动调整为当前月份。
月份选择器可独立出来
实现的方法:
两个视图都使用viewpager+fragment来实现滑动,且在月份选择器viewpager的两侧加两个button
月份选择器总数为100*12+当前的月份,这儿有一个坑就是用Calendar中的month时,它的范围是0-11的,必须要多+1,在初始化视图的时候自动设置为今天(即最后一个)
月份选择器在滑动后调用周的setCurrentWeek方法,再由其内部调用setCurrentItem方法。
这要解决一个问题:
月份在变化之后带动了周的变化,但是周的变化有可能会再次带动月份的变化,就造成了逻辑的混乱。
想到的解决办法就是只有在滑动周选择器时才会改变月份,滑动月选择器时改变的周视图不会再次去改变月份。
但是滑动周视图后改变了月视图之后月视图也会改变周视图。。所以balablabala要反过来再改一次
虽然挺蛋疼了但总归是解决了这个问题,还有若干个小问题就不提了