У меня есть виджет с двумя 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', у вас могут возникнуть проблемы с обновлением пользовательского интерфейса, поскольку обновление пользовательского интерфейса должно выполняться в потоке пользовательского интерфейса, а' TimerTask' запускается в своем потоке. – lenik
Да, вы правы. Вам нужно будет использовать 'runOnUiThread()' или 'Handler' для обновления в потоке пользовательского интерфейса. Я бы сказал, что использование метода «Таймер» по методу «Handler.postDelayed()» является вопросом предпочтения - во время написания моего ответа единственным другим предложенным ответом был метод «AlarmManager». Разумеется, если вы планируете использовать обработчик «Handler» для обновления в потоке пользовательского интерфейса, возможно, имеет смысл использовать метод «Handler.postDelayed()» с самого начала. Я сделаю редактирование своего ответа и оставлю его в качестве другой возможной альтернативы. –
Любые шансы на пример, где id положил это, поскольку я пробовал это раньше и не смог. – Timmo