我从未看到过很好地实现ViewPager
的用例。
ViewPager
是一个相对静态的结构。向右侧添加页面(将其附加到模型并显示)并不难,但是,应该有一个易于使用的解决方案来扩展PagerAdapter(或其某些子类),使其可以向两个方向扩展。
我可以想象适配器的界面如下:
boolean isEmpty()
boolean hasNext()
boolean hasPrevious()
Object getNext()
Object getPrevious()
Object getItem(int position)
// or if using generics
T getNext()
T getPrevious()
T getItem(int position)
类似于集合迭代器,但是可以双向移动。索引/位置不仅限于0,而是可以使用整个整数类型的范围。也许不要基于数组实现(数组从0到无穷大)。我找到了这个“hack”:dynamically add and remove view to viewpager,但是正如我之前所说,我正在尝试让它自然地工作,而不是维护3、5等项目,并强制ViewPager根据某些扭曲的逻辑更改当前位置。目前是否有足够的实现或者需要实现它?如果需要全新的实现,我愿意提供悬赏以获得答案。