我正在使用Android Studio的Tabbed Activity。
我在刷卡的页面之间移动,但我添加了2个视图,可以通过onclick方法移动下一个和上一个,但它不会再回到下一步。
nextAbitudini.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//it works
mViewPager.setCurrentItem(getArguments().getInt(ARG_SECTION_NUMBER));
}
});
backAbitudini.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//it doesn't work
mViewPager.setCurrentItem(getArguments().getInt(ARG_SECTION_NUMBER)-1);
}
});
我正在使用FragmentPagerAdapter。 它可以向后滑动。
我在onCreateview中放了onClick方法。
答案 0 :(得分:1)
参考选项卡式活动,在片段初始化时查看部分编号。 (sectionNumber = position + 1)。
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
return PlaceholderFragment.newInstance(position + 1);
}
因此,ARG_SECTION_NUMBER-1
指的是当前片段的位置,ARG_SECTION_NUMBER-2
指向前一个,ARG_SECTION_NUMBER
指向下一个。
因此,您的代码应该是这样的:
nextAbitudini.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//it works
mViewPager.setCurrentItem(getArguments().getInt(ARG_SECTION_NUMBER));
}
});
backAbitudini.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//it doesn't work
mViewPager.setCurrentItem(getArguments().getInt(ARG_SECTION_NUMBER)-2);
}
});