我有一个名为 EventButton 的类,它扩展了 Button。
所有 Button 的设置都在这个类中,onClick() 等。
我还有一个 Home 活动,它有一个滚动视图
当用户按下菜单按钮时,EventButtons 被添加到 Home 活动的滚动视图中。我不实例化我只是调用 new EventButton() 的对象
当用户单击按钮时,将显示一个对话框,用户设置“事件”的名称和“事件”的时间。
然后,名称和时间将显示在主页活动的 scollview 内的该按钮上。
我的问题是,您将如何每隔 5 分钟刷新一次 EventButton 以检查设置的时间是否已过。我尝试了 TimerTask 和 Timer 以及 Handler 但似乎都不起作用。TimerTask一直崩溃,我也发现最好在android中使用Handler。
private void scheduleDelay() {
EventButton.this.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
int mHour = calendar.get(Calendar.HOUR_OF_DAY);
int mMinute = calendar.get(Calendar.MINUTE);
if(EventButton.hour < mHour || EventButton.minute < mMinute) {
EventButton.this.setBackgroundColor(Color.RED);
}
EventButton.this.postDelayed(this, 5);
}
}, 5);
}
当用户在 AlertDialog 中设置 EventButton 的名称和时间时调用上述方法。
更新
毕竟问题似乎不在于处理程序。似乎是当我尝试获取崩溃的小时和分钟时。