PagerAdapter - 单击项目按钮时项目索引错误

PagerAdapter - Wrong item index when clicked an item's button

我有一个扩展 PagerAdapter 的 class。所以我覆盖了这个功能:

@Override
public Object instantiateItem(final ViewGroup container, final int position) {
    final View view;

        view = mLayoutInflater.inflate(R.layout.item, container, false);

        setFavButton(view, list.get(position));

    container.addView(view);
    return view;
}

private void setFavButton(View view, Word word) {
    btn_like = view.findViewById(R.id.btn_like);
    btn_like.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            toggleFavButton(btn_like);
        }
    });
}


private void toggleFavButton(Button btn_like){
       btn_like.setCompoundDrawablesWithIntrinsicBounds(  R.drawable.ic_like_red, 0, 0, 0);
    }

因此,每当我单击某个项目上的按钮时,它就会更改另一个项目按钮的可绘制对象。我没有提到的所有其他按钮也会发生同样的情况。我单击按钮播放音频,但它播放的是链接到其他项目的音频。

为了避免这个问题,我没有在此适配器中创建一个全局 Button 变量 class,而是在 instantiateItem()[=10= 中创建了一个按钮实例]