我是viewPagers的新手。这是我的问题。我在活动中有一个包含3个片段的viewPager
。我有一个下一步按钮,根据不同的片段触发不同的操作。目前我正在应用以下方法:
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if(viewPager.getCurrentItem() == 0){
mViewPager.setCurrentItem(getItem(+1), true);
}else if(viewPager.getCurrentItem() == 1){
// trigger something
}
}
});
当我处于0位置时,如果我点击下一个按钮,则viewPager会滑动到第二个片段,会触发这两个条件!它不应该只是第一个吗?如何针对相应的片段位置一次触发一个动作?任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试这样的事情:
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if(viewPager.getCurrentItem() == 0){
viewPager.setCurrentItem(viewPager.getCurrentItem() + 1,true);
}
else if(viewPager.getCurrentItem() == 1){
// trigger something
}
}
});
答案 1 :(得分:0)
在侦听器回调方法中执行操作
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//Do it here
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
如果有帮助,请告诉我。