0
斐伊川我的问题是我有6 frgments
,我使用ViewPager
导航从一个网页到另一个老虎钳versa.but我想6 fragment
后一个水平向前轻扫复出1分Fragment
。像从6-> 1Viewpager navigatation正向horizonaral方向
斐伊川我的问题是我有6 frgments
,我使用ViewPager
导航从一个网页到另一个老虎钳versa.but我想6 fragment
后一个水平向前轻扫复出1分Fragment
。像从6-> 1Viewpager navigatation正向horizonaral方向
尝试添加第一片段一次在队列的末尾,并在加载时,可使用viewPager.setCurrentItem(0,假)移动到第一个片段。
实际上,它并不总是有效。参照这个答案ViewPager as a circular queue/wrapping,
我做了一个简单的例子看看:
public class MainActivity extends FragmentActivity {
private static final int NUM_PAGES = 6;
private ViewPager pager;
private PagerAdapter pagerAdapter;
private List<SlideFragment> slideList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
slideList = new ArrayList<SlideFragment>();
for (int i = 0; i<NUM_PAGES; i++){
SlideFragment slide = new SlideFragment();
slide.setIndex(i+1);
slideList.add(slide);
}
pager = (ViewPager) findViewById(R.id.pager);
pagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
pager.setAdapter(pagerAdapter);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
int _pos = position % NUM_PAGES;
return slideList.get(_pos);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
}
}
而且Fragment
类:
public class SlideFragment extends Fragment {
private int index;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup root = (ViewGroup)inflater.inflate(R.layout.slide, container, false);
TextView tw = (TextView) root.findViewById(R.id.textView);
tw.setText(Integer.toString(index));
return root;
}
public void setIndex(int index){
this.index = index;
}
}
非常感谢这就是重量,我想。 – 2013-02-11 10:22:24
添加到问题我有一个查询我想以循环的方式去1到6意味着我不想在一些循环后停下来。就像我在这里循环后,我不能再从1到6。 – 2013-02-11 11:16:12
@Abhijit请参阅我的更正 – forcelain 2013-02-11 18:07:42