我有一个列表视图,其中包含每个项目的时间。我将时间显示在左侧,将时间从左侧显示到右侧。所以,假设我想显示下午 6 点,现在是下午 4.53 点,我会显示还剩 1 小时 7 分钟。这是计算到我的 BaseAdapter 中的。
现在我想每 30 秒刷新一次这些剩余时间。所以我尝试使用带有可运行的处理程序并调用 notifyDataSetChanged() 但我认为,数据需要更新,否则 notifyDataSetChanged() 什么都不做,对吧?
所以这里有一些代码:
可在我的活动中运行:
private Runnable updateScreen = new Runnable() {
public void run() {
//update of the current time
rightNow = Calendar.getInstance();
timeNow = rightNow.get(Calendar.HOUR_OF_DAY) * 60 + rightNow.get(Calendar.MINUTE);
if(adapter != null)
adapter.notifyDataSetChanged();
handler.postDelayed(this, 30000);
}
};
这是我在我的活动中实例化我的适配器的方式:
adapter = new TimesAdapter(context, times, timeNow);
times 是一个 String[] 并且 timeNow 是一个 int。
你有什么想法吗?如果您需要更多代码,请告诉我。