次のコードを実行しましたが、オフスクリーンのように見えるビューが適切にリサイクルされていません。
ViewPager を表示できる 60 個のビューがすべてあると仮定すると、正しく表示されますが、ビューを再利用しません。ArrayList の末尾にスワイプしている間、前のビューはまだリサイクルされません (スワイプしたためだと思います)右端、次にもう一度左にスワイプ、リロードの兆候なし)
私は多くの記事を検索しましたが、以下で行ったことはすべて同様で、どこがポイントなのかわかりません。(実際に行ったのはこちら)
public class MyPagerAdapter extends PagerAdapter{
ArrayList<View> viewList = new ArrayList<View>();
public MyPagerAdapter(ArrayList<View> list) {
this.viewList = list;
}
@Override
public int getCount() {
return viewList.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = viewList.get(position);
container.addView(view);
return view;
}
public void destroyItem(ViewGroup container, int position, Object view) {
container.removeView((View)view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == (View)object;
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}