PagerAdapter returns Multi View Pager 的位置错误

PagerAdapter returns wrong position for Multi View Pager

我正在通过调整页边距实现类似视图寻呼机的 caurosel。我可以像下面那样实现

但是我遇到了 PagerAdapter 的问题

@Override
public Object instantiateItem(ViewGroup container, int position) {
    View view= inflater.inflate(R.layout.mylayout, null);

    // 
    Button btn=(Button)view.findViewById(R.id.button1);
    btn.setTag(position);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          Log.e("position",v.getTag()+"");
       }
   }
    return imgView;
}

虽然我正在设置标签,但我只能为中心页面(所选项目)获得正确的位置,但是当我点击左侧页面的按钮时,它 returns 错误的值。

关于这个问题我已经搜索了很多,到目前为止我找不到解决方案。

寻求您的帮助。

谢谢

你可以使用 RecyclerView

LinearLayoutManager layoutManager = ...
recyclerView.setLayoutManager(layoutManager);

//when you want horizontal
layoutManager.setOrientation(context,LinearLayoutManager.HORIZONTAL,false);

//when you want vertical
layoutManager.setOrientation(context,LinearLayoutManager.VERTICAL,false);

PagerAdapter 没有问题。实际问题是由于第三方库引起的,我将其用作包装器来为视图设置动画。