0

我无法正确理解这些功能在我的FragmentActivity课程中的用途。Tabhost和fragment活动

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 textsfragment one,如果用户想要在不滑动fragment two填写文本,然后不得滑动。

我试图找到任何这样的例子,但我无法找到它。谁能帮忙?了解这些功能将帮助我实现我的想法我猜

回答

0

碎片的优点是可以在运行时添加或删除它们。

你想要的是最初有一个片段,一旦满足要求 - 为你的活动添加下一个片段。

+0

实际上我并不希望最初有多个片段,但我想限制用户初始片段,除非他完成所有的字段。 –

+0

@HassaanRabbani所以你想要一个片段,但滚动到它禁用?恐怕在这种情况下,你必须实现你自己的动画类。这太低效了 – alandarev

+0

我发布了我的答案:)感谢您的帮助 –

0

当你想关闭刷卡只是setPagingEnable =假我已得到另一个论坛

公共类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; 
} 

}

现在的答案;

并在布局文件中用<com.yourpackage.CustomViewPager> tags代替任何<com.android.support.V4.ViewPager>标签。