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>標籤。