gpt4 book ai didi

android - ViewPagerIndicator 工作,但不移动

转载 作者:太空狗 更新时间:2023-10-29 15:31:02 27 4
gpt4 key购买 nike

我在我的项目中使用库“ViewPagerIndicator”。

我在 xml 中有 ViewPager 和 ViewPagerIndicator,好的。

我的问题是我无法编写正确的适配器来工作。我已经将它与 Jake Warton 在他的示例中使用的适配器进行了比较,但无法使其正常工作ViewPager 工作正常,在屏幕上看到 ViewPagerIndicator ...但没有移动。

如果脉冲,例如,在 viewpagerindicator 的第二个项目上,移动 viewpager ... 但从不移动 viewpagerindicator

enter image description here

这是主要的 Activity 代码:

//...
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();
}
}
}

我想使用我从主 Activity 添加 ViewPager 的 fragment :

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

非常感谢您的帮助,提前致谢

问候。

最佳答案

您是否有机会为 ViewPager 设置一个 OnPageChangeListener?如果是这样,您应该将 OnPageChangeListener 设置为指示器本身,而不是 ViewPager

关于android - ViewPagerIndicator 工作,但不移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com