3

ViewPager の Fragment にはOnPageSelected()Orのような同等のメソッドがありOnPageShow()ますか? 特定のページが表示されているときに何かをする必要がありますか?


In page アダプターで各 Fragment の隠し状態を設定しましたがonPageScrolled()、なぜonHiddenChanged() が呼び出されないのでしょうか?

// In PageAdapter(FragmentPagerAdapter を拡張)

    public void onHiddenChanged(int arg0)
    {
        for (int i = 0; i < getCount(); i++) {
            if (i == arg0) {
                mAdapter.getItem(arg0).onHiddenChanged(true);
            } else {
                mAdapter.getItem(arg0).onHiddenChanged(false);
            }
        }
    }

// PageActivity 内 (FragmentActivity を拡張)

public void onPageSelected(int arg0)
{
    mAdapter.onHiddenChanged(arg0);
}
4

2 に答える 2

2

AndroidforViewPagerには、次のようなメソッドを持つ call がlistenerありますViewPager.OnPageChangeListener

onPageScrollStateChanged(int state),

onPageScrolled(int position, float positionOffset, int positionOffsetPixels) , 

onPageSelected(int position)

ページに対して特定のタスクを実行したい場合は、メソッドを記述ViewPager.OnPageChangeListenerしてオーバーライドする必要がありますonPageSelected(int position)

詳しくはこちら

于 2012-10-29T03:31:31.580 に答える
1

使用できますOnPageChangeListener。ページが変更されたときにコールバックを取得します。例:

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageSelected(int position) {
        // this will be called when the page is changed
    }

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

    @Override
    public void onPageScrollStateChanged(int arg0) {
    }
});
于 2012-10-29T03:32:44.380 に答える