如何将时间添加到数字时钟?

How to add time to a digitalclock?

我有一个带有 recyclerview 的应用程序,它以 30 分钟为间隔显示提前时间。第一个viewholder显示currenttime+30mins,下一个显示currenttime+30mins,等等

为了初始化回收器视图,我有一个存储日历的数组。每个人都比最后一个时间提前 30 分钟。我可以很好地显示这些时间,但是当我尝试更新它们以与设备时间同步时出现问题。

使用处理程序和可运行对象,我能够更新整个数组,然后每 1000 毫秒在我的适配器上调用一次 notifyDataSetChanged()。但这会导致问题。我为视图持有者设置了 onClickListener,如果我同时点击视图持有者 recyclerview 正在刷新,那么 onClick 方法将被忽略。

如何每分钟自动更新我的时间,而不是每秒刷新整个 recyclerview?我想我可以使用 digitalclock,因为它会自动更新时间,但我不知道有什么方法可以将数字时钟增加 30 分钟。

您可以使用 AsyncTask 之类的东西来实现一个后台线程,只有在达到特定条件时才提供 returns 信息。这样,您的 recyclerview 只会以一种不应与您的其余部分交互的方式每分钟刷新一次 UI。

最终我的解决方案是用文本视图切换数字时钟,文本视图计划在每次系统时钟更改时更新。