不要回收 RecyclerView 中的特定视图类型
Don't recycle specific view type in RecyclerView
我有一个正在重用视图的回收视图,我的问题是一个 viewholder 包含一个 ViewPager,如果 recyclerview 的适配器重用 viewholder 膨胀的视图,则 viewpager 会发生异常。
但是,onCreateViewHolder 方法仅在第一次被调用。我怎样才能避免这种行为并实现 onCreateViewHolder 可以被多次调用?
提前致谢
使用recyclerView.getRecycledViewPool().setMaxRecycledViews(YOUR_VIEW_TYPE, 0);
这将禁用指定视图类型的回收
这就是 getItemViewType
覆盖的用途。
如果您将 getItemViewType
覆盖为 return ViewPager
位置的不同值,RecyclerView
将使用它来知道何时应该回收视图。
我有一个正在重用视图的回收视图,我的问题是一个 viewholder 包含一个 ViewPager,如果 recyclerview 的适配器重用 viewholder 膨胀的视图,则 viewpager 会发生异常。 但是,onCreateViewHolder 方法仅在第一次被调用。我怎样才能避免这种行为并实现 onCreateViewHolder 可以被多次调用?
提前致谢
使用recyclerView.getRecycledViewPool().setMaxRecycledViews(YOUR_VIEW_TYPE, 0);
这将禁用指定视图类型的回收
这就是 getItemViewType
覆盖的用途。
如果您将 getItemViewType
覆盖为 return ViewPager
位置的不同值,RecyclerView
将使用它来知道何时应该回收视图。