如何在IconPageIndicator中的图标点击监听器上实现

时间:2013-10-28 07:16:51

标签: android viewpagerindicator

我正在使用IconPageIndicator库中的viewPagerIndicator。当在指示器中单击一个图标时,我需要将视图寻呼机移动到该页面。如果单击该图标,我可以点击该事件吗?  如何知道IconPageIndicator中点击了哪个图标?

1 个答案:

答案 0 :(得分:10)

我已阅读您的问题和测试示例。您是对的当我们点击图标时它无法移动。

所以你需要编辑库项目---> IconPageIndicator.java

只需替换以下方法

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));
        view.setTag(""+i);
        view.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                int viewPosition = Integer.parseInt(v.getTag().toString());

                mViewPager.setCurrentItem(viewPosition);
            }
        });
        mIconsLayout.addView(view);
    }
    if (mSelectedIndex > count) {
        mSelectedIndex = count - 1;
    }
    setCurrentItem(mSelectedIndex);
    requestLayout();
}

清理库项目并重建它。也不要忘记清理和重建你的项目。我希望它能工作。