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();
                    }
                });
            }
        }
    }
}
上一篇 Android在全屏下ScrollView包裹EditText软键盘弹出后,ScrollView无法滚动
下一篇 Google Play App Signing的问题以及解决方式
目录
文章列表
1 后台接收json请求参数兼容数组和单个对象
后台接收json请求参数兼容数组和单个对象
2
Redis GEO
Redis GEO
3
JS处理数据四舍五入tofixed与round的区别
JS处理数据四舍五入tofixed与round的区别
4
微信小程序集成Markdown
微信小程序集成Markdown
5
使用Composer安装Magento 2.4
使用Composer安装Magento 2.4
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。