如何设置viewpager页面的顺序?
How to set order of viewpager pages?
所以我有一个 Viewpager class,它添加了 3 个片段,每个片段都有自己的布局。让我们称它们为 Layout/Fragment A、Layout/Fragment B 和 Layout/Fragment C。
ViewPager Class:
public class viewpagerMainPagesActivity extends FragmentActivity {
DescriptionPageAdapter pageAdapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_descriptionpages);
List<Fragment> fragments = getFragments();
pageAdapter = new DescriptionPageAdapter(getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager)findViewById(R.id.viewpager_descriptionpages);
pager.setAdapter(pageAdapter);
}
private List<Fragment> getFragments() {
List<Fragment> fList = new ArrayList<Fragment>();
fList.add(fragmentA.newInstance());
fList.add(fragmentB.newInstance());
fList.add(fragmentC.newInstance());
return fList;
}
}
现在,当我调用这个 ViewPager class 时,它会按照添加的顺序显示它们,也就是说,它会打开 Fragment A。它是 FragmentA 作为第一个屏幕,当你滑动到 FragmentB 时右侧(第 2 个屏幕),然后 FragmentC 作为右侧的最后一个屏幕。
A - B - C
但我想让 ViewPager 保持片段的这种顺序,但打开 FragmentB,这样用户就可以向右滑动到片段 A,或者向左滑动到片段 C。
任何人都可以指出正确的方向吗?
您可以通过调用来居中视图:
pager.setCurrentItem(1)//second index for zero based index
紧接在以下行之后:
pager.setAdapter(pageAdapter);
所以我有一个 Viewpager class,它添加了 3 个片段,每个片段都有自己的布局。让我们称它们为 Layout/Fragment A、Layout/Fragment B 和 Layout/Fragment C。
ViewPager Class:
public class viewpagerMainPagesActivity extends FragmentActivity {
DescriptionPageAdapter pageAdapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_descriptionpages);
List<Fragment> fragments = getFragments();
pageAdapter = new DescriptionPageAdapter(getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager)findViewById(R.id.viewpager_descriptionpages);
pager.setAdapter(pageAdapter);
}
private List<Fragment> getFragments() {
List<Fragment> fList = new ArrayList<Fragment>();
fList.add(fragmentA.newInstance());
fList.add(fragmentB.newInstance());
fList.add(fragmentC.newInstance());
return fList;
}
}
现在,当我调用这个 ViewPager class 时,它会按照添加的顺序显示它们,也就是说,它会打开 Fragment A。它是 FragmentA 作为第一个屏幕,当你滑动到 FragmentB 时右侧(第 2 个屏幕),然后 FragmentC 作为右侧的最后一个屏幕。
A - B - C
但我想让 ViewPager 保持片段的这种顺序,但打开 FragmentB,这样用户就可以向右滑动到片段 A,或者向左滑动到片段 C。
任何人都可以指出正确的方向吗?
您可以通过调用来居中视图:
pager.setCurrentItem(1)//second index for zero based index
紧接在以下行之后:
pager.setAdapter(pageAdapter);