我无法正确理解我的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 texts
中有三个fragment one
,并且如果用户想要滑到fragment two
而不填写文本然后不能滑动。
我试图找到任何这样的例子,但我无法找到它。有人可以帮忙吗?理解这些功能将有助于我实现我的想法
答案 0 :(得分:0)
片段的记录优势是,它们可以在运行时添加或删除到活动中。
您想要的是最初只有一个片段,一旦满足要求,请为您的活动添加下一个片段。
答案 1 :(得分: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
标记。