7

我正在IconPageIndicatorviewPagerIndicator图书馆使用。在指示器中单击图标时,我需要视图寻呼机移动到该页面。单击图标时如何获取事件单击?怎么知道点击了哪个图标IconPageIndicator

4

1 回答 1

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

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

于 2013-10-28T07:59:06.610 回答