public BaseViewHolder setGone(@IdRes int viewId, boolean visible) {
View view = getView(viewId);
view.setVisibility(visible ? View.VISIBLE : View.GONE);
return this;
}
这个代码是不是有点反人类,setGone(),还得false才有效,大神你是不是忘了写感叹号了。因为这个bug,导致我们损失了1000万用户,现在我和测试正在海投简历
BaseRecyclerViewAdapterHelper 是个很优秀、易用的库,作者也非常厉害。但是不得不说这个库的很多方法命名水平并不高。setGone就是最典型的一个例子,显然跟setVisible这个方法放在一起很容易用错:
setVisible以为设为 false 即为 GONEsetGone设为 true 可能让人以为是隐藏掉该 view。如果想显示,为什么不用setVisible呢?建议参考一下 kotlin 的一个扩展库,里面有个 view 的扩展属性:view.isVisible,为 true 时就是 VISIBLE,为 false 时就是 GONE;view.isGone,为 true 时就是 GONE,为 false 时就是 VISIBLE;view.isInvisible,为 true 时就是 INVISIBLE,为 false 时就是 VISIBLE。
再举个命名比较随意的例子:setNotDoAnimationCount这个方法名的NotDo感觉就很中式英语。个人觉得setNoAnimationCount更好些,或者setNotAnimateCount也还行。
希望 BRVAH 越来越好。
早知道 就不该更新 setGone(false)和setGone(true) 真的很费解
看了下,确实不舒服~
Most helpful comment
BaseRecyclerViewAdapterHelper 是个很优秀、易用的库,作者也非常厉害。但是不得不说这个库的很多方法命名水平并不高。
setGone就是最典型的一个例子,显然跟setVisible这个方法放在一起很容易用错:setVisible以为设为 false 即为 GONEsetGone设为 true 可能让人以为是隐藏掉该 view。如果想显示,为什么不用setVisible呢?建议参考一下 kotlin 的一个扩展库,里面有个 view 的扩展属性:
view.isVisible,为 true 时就是 VISIBLE,为 false 时就是 GONE;view.isGone,为 true 时就是 GONE,为 false 时就是 VISIBLE;view.isInvisible,为 true 时就是 INVISIBLE,为 false 时就是 VISIBLE。再举个命名比较随意的例子:
setNotDoAnimationCount这个方法名的NotDo感觉就很中式英语。个人觉得setNoAnimationCount更好些,或者setNotAnimateCount也还行。希望 BRVAH 越来越好。