問題

私はviewPagerIndicator libraryからIconPageIndicatorを使用しています。インジケータでアイコンをクリックすると、そのページに移動するビューページャが必要になります。アイコンがクリックされたときにイベントをクリックするにはどうすればよいですか? どのアイコンがIconPageIndicatorでクリックされているかを知るにはどうすればよいですか?

  ベストアンサー

私はあなたの質問とテストサンプルの例を読んだ。あなたは正しいアイコンをクリックすると移動できません。

したがって、ライブラリプロジェクトを編集する必要があります--> 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();
}
 

ライブラリプロジェクトをクリーンアップして再構築します。 また、プロジェクトをクリーンアップして再構築することを忘れないでください。

  同じタグがついた質問を見る

androidviewpagerindicator