カスタムRecycleViewスライドリスナクラス

UpPullRecyclerViewOnScrollListener延びRecyclerView.OnScrollListener {クラス公開
//コールバック・リスナー
プライベートUpPullOnScrollListenerリスナー;

公共UpPullRecyclerViewOnScrollListener(UpPullOnScrollListenerリスナー){
this.listener =リスナー;
}
/ **
*フラグは、最大にスライドされている
* /
falseにブール= isUpPullと、
@Override
公共ボイドonScrollStateChanged(recyclerView recyclerView、NewStateにINT){
super.onScrollStateChanged(recyclerView、NewStateにザ);
LinearLayoutManagerマネージャ=(LinearLayoutManager)recyclerView.getLayoutManager();

IF(NewStateにザ== RecyclerView.SCROLL_STATE_IDLE){
//数
INT ITEMCOUNT個= manager.getItemCount( );
位置は最後//表示しました
manager.findLastCompletelyVisibleItemPosition lastItemPosition = INT();

IF(lastItemPosition ==(ITEMCOUNT個の- 1)&& isUpPull。){
listener.onLoadMoreData();
}
最初に表示//の位置
INT fristItemPosition manager.findFirstCompletelyVisibleItemPosition =();
IF(fristItemPosition ==(0)&& isUpPull){!
listener.onRefreshData();
}
}
}
@Override
onScrolledます。public void(recyclerView recyclerView、DXはint、int型のDy){
super.onScrolled(recyclerView、DX、Dyの);
//は0より大きいスライド停止する0以下で、上方にスライドされる表し下方
isUpPull = Dyの> 0;
}
}
--------------------- 

おすすめ

転載: www.cnblogs.com/liyanyan665/p/11299175.html