BaseQuickAdapter使用起来还是超级方便的,开发中使用的话会大大减少代码量。不过,在使用的时候,还是要多多注意~!~ 比如: BaseViewHolder的setGone和setVisible方法的使用。
/**
* Set a view visibility to VISIBLE (true) or GONE (false).
*
* @param viewId The view id.
* @param visible True for VISIBLE, false for GONE.
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setGone(@IdRes int viewId, boolean visible) {
View view = getView(viewId);
view.setVisibility(visible ? View.VISIBLE : View.GONE);
return this;
}
/**
* Set a view visibility to VISIBLE (true) or INVISIBLE (false).
*
* @param viewId The view id.
* @param visible True for VISIBLE, false for INVISIBLE.
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setVisible(@IdRes int viewId, boolean visible) {
View view = getView(viewId);
view.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
return this;
}
setGone(R.id.xx, true)
如果第二个参数传了true,容易误以为是设置控件的GONE属性为true,要将控件隐藏。其实不然,setGone和setVisible方法的第二个参数,都是设置的控件的VISIBLE属性值,区别在于:setGone(R.id.xx, false) 是表示将控件隐藏,而setVisible(R.id.xx, false)是将控件设置为不可见,但是位置保留。总之还是需要根据实际开发需求灵活应用。
踩了一个小坑坑,特此记录。