Android RecycleView全部item倒计时的高效实现
需要使用全局的定时器,而不是每条item均设置定时器,而且在可见视图内定时刷新UI
public void initTimer() {
mTimer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
onDownTimeTask();
}
};
mTimer.schedule(timerTask, 0, 1000);
}
private void onDownTimeTask() {
if (mBargainOrderList != null && mBargainOrderList.size() > 0) {
int firstVisiblePosition = mLayoutManager.findFirstVisibleItemPosition();
int lastVisiblePosition = mLayoutManager.findLastVisibleItemPosition();
for (int i = 0; i < mBargainOrderList.size(); i++) {
if (i >= firstVisiblePosition && i <= lastVisiblePosition) {
final BargainOrderAdapter.ViewHolder viewHolder = (BargainOrderAdapter.ViewHolder) mMyBargainOrderListRecyclerView.findViewHolderForLayoutPosition(i);
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
viewHolder.bargainCountdownView.refresh();
}
});
}
}
}
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/18/efficient-implementation-of-countdown-for-all-items-in-android-recycleview/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Android RecycleView全部item倒计时的高效实现
需要使用全局的定时器,而不是每条item均设置定时器,而且在可见视图内定时刷新UI
public void initTimer() {
mTimer = new Timer();
TimerTask time……
文章目录
关闭
共有 0 条评论