[关闭]
@Tyhj 2017-05-14T03:42:43.000000Z 字数 767 阅读 1053

RecycleView中的倒计时显示

Android


在RecycleView中显示倒计时听起来很简单,其实实现起来却不是很容易。首先设置Handler来更新界面想想也复杂,而且是在RecycleView中,用什么notifyItemChanged()或者notifyDataSetChanged()也是不行的,画面会闪烁。一种高效可行的办法是获取在界面显示的item然后刷新他们。

  1. @Background
  2. void timeEnd() {
  3. while (true) {
  4. try {
  5. Thread.sleep(1000);
  6. } catch (InterruptedException e) {
  7. e.printStackTrace();
  8. }
  9. if (auctions.size()>0) {
  10. int firstVisible = manager.findFirstVisibleItemPosition();
  11. int lastVisible = manager.findLastVisibleItemPosition();
  12. for (int i = 0; i < auctions.size(); i++) {
  13. if (i >= firstVisible && i <= lastVisible) {
  14. if (rcly_Session.findViewHolderForPosition(i).getItemViewType() != 0) {
  15. final SessionAdapter.SessionHolder holder = (SessionAdapter.SessionHolder) rcly_Session.findViewHolderForPosition(i);
  16. runOnUiThread(new Runnable() {
  17. @Override
  18. public void run() {
  19. //textView.setText(time);
  20. }
  21. });
  22. }
  23. }
  24. }
  25. }
  26. }
  27. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注