我在我的项目中使用库“ViewPagerIndicator”。
我在xml中有ViewPager和ViewPagerIndicator,好吧。
我的问题是我无法编写正确的适配器来工作。我已经将它与 Jake Warton 在他的示例中使用的适配器进行了比较,但无法使其正常工作 ViewPager 工作正常,屏幕上看到的 ViewPagerIndicator ......但没有移动。
如果脉冲,例如,在 viewpagerindicator 的第二个项目上,移动 viewpager ...但从不移动 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];
}
}
我尝试了将近两天,但我无法创建正确的适配器来移动 ViewPagerIndicator
感谢您的帮助,在此先感谢
问候。