我有一个小部件与两个TextView显示时间和日期。简单的方法来更新小部件TextView定期
我只是希望这批代码发生每秒:
views.setOnClickPendingIntent(R.id.rl, pendingIntent);
java.util.Date noteTS = Calendar.getInstance().getTime();
String time = "kk:mm";
String date = "dd MMMMM yyyy";
views.setTextViewText(R.id.tvTime, DateFormat.format(time, noteTS));
views.setTextViewText(R.id.tvDate, DateFormat.format(date, noteTS));
所以我需要一个简单的方法,在小部件定期更新的TextView所以时间比标准的30分钟改变了。由于
我可能是错的,但如果你使用'TimerTask',你可能会遇到更新UI的麻烦,因为UI更新应该在UI线程上完成,'TimerTask'运行在它自己的线程中。 – lenik 2013-03-10 01:50:44
是的,你是对的。你必须使用'runOnUiThread()'或者'Handler'来更新UI线程。我会说'Timer'方法在'Handler.postDelayed()'方法上的使用是一个偏好问题 - 在我写答案的时候,唯一另外提出的答案是'AlarmManager'方法。当然,如果您打算在UI线程上使用'Handler'来更新,那么从一开始就使用'Handler.postDelayed()'方法可能更有意义。我会对我的答案进行编辑,并将其作为另一种可能的替代方案。 – 2013-03-10 02:02:10
任何机会的地方,因为我已经尝试过这之前,失败.. – Timmo 2013-03-10 11:48:40