RecyclerView的Viewholder中理論上不推薦添加fragment的氛魁,不過有時業(yè)務(wù)復(fù)用時纬纪,還是會遇到這樣的場景。
這里會有一個坑只损,fragment的add一姿,replace依賴view的id,如果直接使用viewholde的xml中的id且有多個viewholder存在時跃惫,會出現(xiàn)多個fragment被加到同一個view上的問題叮叹。
這時可以通過View.setId的方法手動更改id,使得每個容器的id都不同爆存,就可以規(guī)避這個問題蛉顽。
ID的創(chuàng)建可以使用官方提供的View.generateViewId方法(API 17),低版本可以把邏輯移出來使用先较。