0

アプリケーションで Pager を使用しています。Pager は左右に 1 ページずつ記憶します。Pager がページを覚えていないことを望みます。常にページを再作成してほしい。どうすればそれができますか?私のポケットベル

    private class MyFragmentPagerAdapter extends FragmentPagerAdapter {

    public MyFragmentPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        Log.d(Tag, "getItem");
        return PageFragment.newInstance(position);
    }

    @Override
    public int getCount() {
        MySqlCursorAdapter.prevDate = null;
        Log.d(Tag, "getCount.. получаем количество страниц"+PAGE_COUNT);
        return PAGE_COUNT;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        Log.d(Tag, "getPageTitle");
        return "Title " + position;
    }


    // Код из FragmentPagerAdapter.java

    private String makeFragmentName(int viewId, long id) {
        Log.d(Tag, "makeFragmentName");
        return "android:switcher:" + viewId + ":" + id;
    }

}

お願い助けて。

4

2 に答える 2

1

ページャー自体がスワイプジェスチャをサポートしているため、簡単ではないと思います。ユーザーが画面をスワイプすると、左または右のページが表示される必要があるため、3つのページが同時に準備されます。

そのため、毎回ページを常に再作成したい場合は、代わりにTabHostまたはViewFlipperを使用することを検討してください。

別のオプションは、ユーザーがページを完全にスワイプするたびにページを更新することです。ViewPagerで OnPageChangeListenerを設定することで、このタイミングを確認できます。

        mMyPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageScrolled(int i, float v, int i2) {}

            @Override
            public void onPageSelected(int i) {
                //do some update job here.
            }

           @Override
           public void onPageScrollStateChanged(int i) {}
    });
于 2013-08-21T06:38:09.117 に答える
0
@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        // TODO Auto-generated method stub
        super.setUserVisibleHint(isVisibleToUser);
                if(isVisibleToUser){
                    //reset the values of your fragment 
                }

    }
于 2013-08-21T07:22:17.487 に答える