我有一個小部件與兩個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