});
注意:设置子控件的事件,如果不在adapter中绑定,点击事件无法生效,因为无法找到你需要设置的控件。
如果需要获取item中其他控件,上述代码有表现, adapter.getViewByPosition()方法进行初始化
TextView textView=(TextView) adapter.getViewByPosition(recycleview, position, R.id.student_name);
ps:如果有header的话需要处理一下position加上 headerlayoutcount。即如果header有的话,postion的点击postion实际上为postion+headerlayoutcount.
开启动画(默认为渐显效果)
adapter.openLoadAnimation();
默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左)
public static final int ALPHAIN = 0x00000001;
public static final int SCALEIN = 0x00000002;
public static final int SLIDEIN_BOTTOM = 0x00000003;
public static final int SLIDEIN_LEFT = 0x00000004;
public static final int SLIDEIN_RIGHT = 0x00000005;
切换动画
quickAdapter.openLoadAnimation(BaseQuickAdapter.ALPHAIN);
自定义动画
quickAdapter.openLoadAnimation(new BaseAnimation() {
@Override
public Animator[] getAnimators(View view) {
return new Animator[]{
ObjectAnimator.ofFloat(view, “scaleY”, 1, 1.1f, 1),
ObjectAnimator.ofFloat(view, “scaleX”, 1, 1.1f, 1)
};
}
});
动画默认只执行一次,如果想重复执行可设置
mQuickAdapter.isFirstOnly(false);
因为有些人不希望第一页看到动画,或者说希望前几个条目加载不需要有动画,所以可以
设置不显示动画数量
adapter.setNotDoAnimationCount(count);
mQuickAdapter.addHeaderView(getView());
mQuickAdapter.addFooterView(getView());
删除指定view
mQuickAdapter.removeHeaderView(getView);
mQuickAdapter.removeFooterView(getView);
删除所有
mQuickAdapter.removeAllHeaderView();
mQuickAdapter.removeAllFooterView();
默认出现了头部就不会显示Empty,和尾部,配置以下方法也支持同时显示:
setHeaderAndEmpty
setHeaderFooterEmpty
默认头部尾部都是占满一行,如果需要不占满可以配置:
setHeaderViewAsFlow
setFooterViewAsFlow
此adapter封装加载更多其实并不好用,因此我更建议采用传统的根据recyclerview判断item位置进行判断,自动加载更多
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
firstVisibleItem=linearLayoutManager.findFirstVisibleItemPosition();
if (newState == RecyclerView.SCROLL_STATE_IDLE&&linearLayoutManager.getItemCount() >0&