2

プロジェクトでライブラリ「ViewPagerIndicator」を使用しています。

xml に ViewPager と ViewPagerIndicator があります。

私の問題は、動作する正しいアダプターを作成できないことです。Jake Warton の例で使用されているアダプターと比較しましたが、正しく動作しません。ViewPager は正しく動作し、ViewPagerIndicator は画面に表示されますが、動きません。

たとえば、viewpagerindicator の 2 番目の項目でパルスがビューページャーを移動するが、viewpagerindicator を移動しない場合

ここに画像の説明を入力

これは主なアクティビティ コードです。

//...
        pager = (ViewPager) findViewById(R.id.pager);

        ViewPagerAdapter adapterViewPager = new ViewPagerAdapter(getSupportFragmentManager());
        adapterViewPager.addFragment(new FRG_home());
        adapterViewPager.addFragment(new Fragment_One());
        adapterViewPager.addFragment(new Fragment_Two());
        adapterViewPager.addFragment(new Fragment_Three());

        pager.setOffscreenPageLimit(5);
        pager.setAdapter(adapterViewPager);

        PageIndicator mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
        mIndicator.setViewPager(pager);

//...

これは、Jake Wharton の例で使用されているアダプター コードです。

class TestFragmentAdapter extends FragmentPagerAdapter implements IconPagerAdapter {
    protected static final String[] CONTENT = new String[] { "This", "Is", "A", "Test", };
    protected static final int[] ICONS = new int[] {
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher
    };

    private int mCount = CONTENT.length;

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

    @Override
    public Fragment getItem(int position) {
        return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
    }

    @Override
    public int getCount() {
        return mCount;
    }

    @Override
    public CharSequence getPageTitle(int position) {
      return TestFragmentAdapter.CONTENT[position % CONTENT.length];
    }


    public int getIconResId(int index) {
      return ICONS[index % ICONS.length];
    }

    public void setCount(int count) {
        if (count > 0 && count <= 10) {
            mCount = count;
            notifyDataSetChanged();
        }
    }
}

メイン アクティビティから ViewPager を追加したフラグメントを使用したい:

adapterViewPager.addFragment(new FRG_home());
            adapterViewPager.addFragment(new Fragment_One());
            adapterViewPager.addFragment(new Fragment_Two());
            adapterViewPager.addFragment(new Fragment_Three());

そして、これは私のアダプターです:

public class ViewPagerAdapter extends FragmentPagerAdapter{

    List<Fragment> fragments = null;
    protected static final String[] CONTENT = new String[] { "This", "Is","a","Test", };

    protected static final int[] ICONS = new int[] {
        R.drawable.ic_launcher,
        R.drawable.ic_launcher,
        R.drawable.ic_launcher,
        R.drawable.ic_launcher
    };
    private int mCount = CONTENT.length;

    public ViewPagerAdapter(FragmentManager fm) {
        super(fm);
        fragments = new ArrayList<Fragment>();
    }
    public void addFragment(Fragment fragment){
        fragments.add(fragment);
    }
    @Override
    public Fragment getItem(int arg0) {
        return fragments.get(arg0);
    }
    @Override
    public int getCount() {
        return fragments.size();
    }
    @Override
    public CharSequence getPageTitle(int position) {
        return ViewPagerAdapter.CONTENT[position % CONTENT.length];
    }
}

ほぼ2日間試しましたが、ViewPagerIndicatorも移動する正しいアダプターを作成できません

助けてくれてありがとう、前もって感謝します

よろしく。

4

1 に答える 1