我正在使用Viewpager和viewpagerindicator来显示一些内容。目前,如果我们刷选指标,所选项目将会改变。但我希望反之亦然,即当我点击圈子时,我需要更改viewpager项目。
这是代码
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:padding="10dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
app:fillColor="#FFCC0000"
app:snap="true"
/>
答案 0 :(得分:1)
使用
Viewpager.setCurrentItem(pageNo)
点击
答案 1 :(得分:1)
您需要修改相应类的源代码,例如这是我修改过的IconPageIndicator
:
public void notifyDataSetChanged() {
mIconsLayout.removeAllViews();
IconPagerAdapter iconAdapter = (IconPagerAdapter) mViewPager.getAdapter();
int count = iconAdapter.getCount();
for (int i = 0; i < count; i++) {
ImageView view = new ImageView(getContext(), null, R.attr.vpiIconPageIndicatorStyle);
view.setImageResource(iconAdapter.getIconResId(i));
//custom bigger indicator
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
view.setLayoutParams(layoutParams);
//custom onClick
view.setTag(""+i);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int pos = Integer.parseInt(v.getTag().toString());
mViewPager.setCurrentItem(pos);
}
});
mIconsLayout.addView(view);
}
非常感谢来源:
https://github.com/JakeWharton/Android-ViewPagerIndicator/pull/321/files
答案 2 :(得分:0)
你可以在按钮的onclick监听器里面做。喜欢,
ViewPager.setCurrentItem(0); //here I set first page