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) {

}

ページのスライドにビューページャーを使用しています。条件が false の場合、たとえば に 3 つedit textsあり、ユーザーがテキストを埋めずfragment oneにスライドしたい場合は、スライドしてはいけません。fragment two

そのような例を見つけようとしましたが、見つけることができません。誰でも助けることができますか?これらの機能を理解することは、私が推測することを実装するのに役立ちます

4

2 に答える 2

0

フラグメントの文書化された利点は、実行時にアクティビティに追加または削除できることです。

必要なのは、最初に単一のフラグメントを用意し、要件が満たされたら、アクティビティに次のフラグメントを追加することです。

于 2014-04-01T08:02:46.073 に答える
0

別のフォーラムから回答を得ました

public class 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 に答える