下面列出了android.support.v4.view.ViewPager#removeOnPageChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Set the {@link ViewPager} associated with this widget indicator.
*
* @param pager {@link ViewPager} to attach
* @param stepCount The real page count to display (use this if you are using looped viewpager to indicate the real
* number
* of pages)
*/
public void setViewPager(ViewPager pager, int stepCount) {
if (this.pager == pager) {
return;
}
if (this.pager != null) {
pager.removeOnPageChangeListener(this);
}
if (pager.getAdapter() == null) {
throw new IllegalStateException("ViewPager does not have adapter instance.");
}
this.pager = pager;
this.stepCount = stepCount;
currentStep = 0;
pager.addOnPageChangeListener(this);
if (showLabels && labels == null) {
setLabelsUsingPageTitles();
}
requestLayout();
invalidate();
}
public void setViewPager(ViewPager vp) {
if (isValid(vp)) {
this.vp = vp;
this.count = vp.getAdapter().getCount();
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
unselectDrawables.clear();
unselectRects.clear();
for (int i = 0; i < count; i++) {
unselectDrawables.add(new GradientDrawable());
unselectRects.add(new Rect());
}
invalidate();
}
}
public void setViewPager(ViewPager vp, int realCount) {
if (isValid(vp)) {
this.vp = vp;
this.count = realCount;
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
unselectDrawables.clear();
unselectRects.clear();
for (int i = 0; i < count; i++) {
unselectDrawables.add(new GradientDrawable());
unselectRects.add(new Rect());
}
invalidate();
}
}
@Override
public void setViewPager(ViewPager vp) {
if (isValid(vp)) {
this.vp = vp;
this.count = vp.getAdapter().getCount();
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
unselectDrawables.clear();
unselectRects.clear();
for (int i = 0; i < count; i++) {
unselectDrawables.add(new GradientDrawable());
unselectRects.add(new Rect());
}
invalidate();
}
}
@Override
public void setViewPager(ViewPager vp, int realCount) {
if (isValid(vp)) {
this.vp = vp;
this.count = realCount;
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
unselectDrawables.clear();
unselectRects.clear();
for (int i = 0; i < count; i++) {
unselectDrawables.add(new GradientDrawable());
unselectRects.add(new Rect());
}
invalidate();
}
}
@Override
public void setupWithViewPager(@Nullable final ViewPager viewPager, boolean autoRefresh) {
super.setupWithViewPager(viewPager, autoRefresh);
//TODO
if (viewPager != null) {
viewPager.removeOnPageChangeListener(this);
viewPager.addOnPageChangeListener(this);
}
}
@Override
public final void perform(UiController uiController, View view) {
final StepperLayout stepperLayout = (StepperLayout) view;
final ViewPager viewPager = (ViewPager) stepperLayout.findViewById(com.stepstone.stepper.R.id.ms_stepPager);
// Add a custom tracker listener
final CustomViewPagerListener customListener = new CustomViewPagerListener();
viewPager.addOnPageChangeListener(customListener);
// Note that we're running the following block in a try-finally construct. This
// is needed since some of the actions are going to throw (expected) exceptions. If that
// happens, we still need to clean up after ourselves to leave the system (Espresso) in a good
// state.
try {
// Register our listener as idling resource so that Espresso waits until the
// wrapped action results in the view pager getting to the STATE_IDLE state
Espresso.registerIdlingResources(customListener);
uiController.loopMainThreadUntilIdle();
performAction(stepperLayout);
uiController.loopMainThreadUntilIdle();
customListener.mNeedsIdle = true;
uiController.loopMainThreadUntilIdle();
customListener.mNeedsIdle = false;
} finally {
// Unregister our idling resource
Espresso.unregisterIdlingResources(customListener);
// And remove our tracker listener from ViewPager
viewPager.removeOnPageChangeListener(customListener);
}
}
@Override
public void setViewPager(ViewPager vp) {
this.vp = vp;
if (isValid()) {
this.count = vp.getAdapter().getCount();
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
createIndicators();
}
}
@Override
public void setViewPager(ViewPager vp, int realCount) {
this.vp = vp;
if (isValid()) {
this.count = realCount;
vp.removeOnPageChangeListener(this);
vp.addOnPageChangeListener(this);
createIndicators();
}
}
public void detachFrom(ViewPager viewPager) {
viewPager.removeOnPageChangeListener(spritzOnPageChangeListener);
}
public void setupWithViewPager(ViewPager pager) {
mItemCount = pager.getAdapter().getCount();
pager.removeOnPageChangeListener(onPageChangeListener);
pager.addOnPageChangeListener(onPageChangeListener);
requestLayout();
}
public void removeViewPager(final ViewPager viewPager) {
if (viewPager != null) {
viewPager.removeOnPageChangeListener(this);
}
}