Mar*_*era 16 java collections android dynamic
有一个用例,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)
Run Code Online (Sandbox Code Playgroud)
与Collections Iterator类似,但都是双向的.
索引/位置不限于0以下,但可以使用整个范围的整数类型.
也许不是基于数组的实现(从0到无限).
我发现这个"hack":动态添加和删除view到viewpager
但是正如我之前所说,我试图让它自然地工作,而不是维护3,5,...项目并强制ViewPager更改当前位置在一些扭曲的逻辑上
目前是否有足够的实施或是否有必要实施它?
如果这将是一个全新的实施,我愿意赏金奖励回答.
这会有帮助,
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Fragment getItem(int position) {
return getFragmentBasedOnPosition(position);
}
private Fragment getFragmentBasedOnPosition(int position) {
int fragmentPos = position % 3; // Assuming you have 3 fragments
switch(fragmentPos) {
case 1:
return Fragment1.newInstance();
case 2:
return Fragment2.newInstance();
case 3:
return Fragment3.newInstance();
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,
mPager.setCurrentItem((int)(Integer.MAX_VALUE/2)); //假设mPager是您的ViewPager
| 归档时间: |
|
| 查看次数: |
5315 次 |
| 最近记录: |