[CymChad/BaseRecyclerViewAdapterHelper]急急急!setEmptyView的时候偶尔会报错

2024-08-08 404 views
9

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first 从有数据切到无数据 的时候 会报错

代码是 有数据的时候setNewData(list), 无数据是setNewData(null) setEmptyView

回答

6

setEmptyView写了几次?

8

setEmptyView在每次网络请求后 判断是否有数据,if(code==1){ setNewData} else{setEmptyView}

3

不需要,设置一次就可以了,不要多次设置

7

那怎么写?设置一次是什么意思,就是说set一次空数据之后,没数据的时候setNewData(null) 这样就可以显示空数据页面了,是么

0

如果你想在列表为空的时候显示emptyView,初始化adapter之后调用setEmptyView就可以了,之后就不用管了,adapter会在列表为空时自动处理

8

@yuanmenghao 解决了吗?

1

我知道大概意思,但是调用好像得慢慢捋顺,我暂时用relative替代了

0

你这个错误我觉得应该就是多次调用导致的

2

嗯,我也觉得应该是这样,但是实际还得再多测测看是不是这样,所以我上架暂时先不用这种了,万一出错就GG了

0

@FrankKwok 正解

6

应该不至于吧,没有使用HeaderView的时候是正常的,使用HeaderView不setEmptyView也是正常的。setNewData(null)这个没必要吧???