0

我无法正确理解这些函数在我的FragmentActivity课堂上的用途。

    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int pos) {
            // on changing the page
            // make respected tab selected
            position = pos;
            actionBar.setSelectedNavigationItem(pos);

            new Getquestions().execute();
        }



        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });
}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {

}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // on tab selected
    // show respected fragment view
    viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {

}

我正在使用视图寻呼机进行页面滑动,我想要做的是,如果条件为假,例如我有三个edit textsin fragment one,并且如果用户想要在fragment two不填充文本的情况下滑动到,那么一定不能滑动。

我试图找到任何这样的例子,但我找不到它。任何人都可以帮忙吗?了解这些功能将帮助我实现我想的东西

4

2 回答 2

0

我从另一个论坛得到了答案

公共类 CustomViewPager 扩展 ViewPager {

private boolean isPagingEnabled;

public CustomViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.isPagingEnabled = true;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (this.isPagingEnabled) {
        return super.onTouchEvent(event);
    }

    return false;
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    if (this.isPagingEnabled) {
        return super.onInterceptTouchEvent(event);
    }

    return false;
}

public void setPagingEnabled(boolean b) {
    this.isPagingEnabled = b;
}

}

现在,当您想禁用滑动时,只需 setPagingEnable = false;

并在布局文件中将所有<com.android.support.V4.ViewPager>标签替换为<com.yourpackage.CustomViewPager> tags.

于 2014-04-01T08:40:55.550 回答
0

片段的文档优势在于它们可以在运行时添加或删除到活动中。

您想要的是最初有一个片段,一旦满足要求 - 将下一个片段添加到您的活动中。

于 2014-04-01T08:02:46.073 回答