除了自我分配值以外,Livedata是否有更好的方法来更新 View ?

2019年6月11日 9点热度 0条评论

对于Android的LiveData,有时会使用自我分配,以便可以更新视图。

例如:

fun retry() {
    myModel.setLoadingRetry()
    loadStatesMap
        .forEach {
            it.value.first?.value = t.value.first?.value
        }
    retryCallback?.invoke()
}

但是,由于它不是正常现象,因此使Sonarqube代码质量出错。

错误描述:

没有理由将变量重新分配给它自己。要么这个

该语句是多余的,应将其删除,否则重新分配是

一个错误和一些其他值或变量是为了

分配。

我想我可以通过不自动分配Livedata值来更新视图。

如果有人有想法,请告诉我。

解决方案如下:

我可以调用Observer:onChanged(T)而不是自赋值。