ViewPager に複数のページを表示するために Dave Smith の PagerContainer を実装しようとしています。ページ番号を表示するオンクリック リスナーを実装しましたが、左側のページをクリックすると、「項目 2 をクリックしました」というメッセージが表示されます (項目 0 が正しいでしょう)。真ん中と右のページをクリックすると、それぞれ「項目 1」と「項目 2」という正しいメッセージが表示されます。問題を説明する画像も添付しました。どうすればこれを修正できますか? 前もって感謝します。
コード スニペットを以下に示します。
@Override
public Object instantiateItem(ViewGroup container, final int position) {
TextView view = new TextView(PagerActivity.this);
view.setText("Item "+position);
view.setGravity(Gravity.CENTER);
view.setBackgroundColor(Color.argb(255, position * 50, position * 10, position * 50));
view.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(PagerActivity.this, "clicked on Item " + String.valueOf(position), 1000).show();
}
});
container.addView(view);
return view;
}
pager.setOffscreenPageLimit(adapter.getCount());
pager.setPageMargin(15);
pager.setClipChildren(false);