RecyclerView.Viewholder中添加Fragment

RecyclerView的Viewholder中理论上不推荐添加fragment的,不过有时业务复用时,还是会遇到这样的场景。

这里会有一个坑,fragment的add,replace依赖view的id,如果直接使用viewholde的xml中的id且有多个viewholder存在时,会出现多个fragment被加到同一个view上的问题。

这时可以通过View.setId的方法手动更改id,使得每个容器的id都不同,就可以规避这个问题。

ID的创建可以使用官方提供的View.generateViewId方法(API 17),低版本可以把逻辑移出来使用。

你可能感兴趣的:(RecyclerView.Viewholder中添加Fragment)