Ситуация следующая: есть TextView, текст отличается в зависимости от того, какая дата в системе. Я пытаюсь сделать так, чтобы это изменение происходило динамически.
Пока что нашёл как сделать ежеминутную проверку даты, но это не совсем то. Можно ли сделать Listener, который слушает системную дату всё время, а не посылает запросы через какие-то интервалы? Допустим, открыл окно с TextView в 23:59, через минуту текст поменялся без перезапуска программы или рефреша.
Использование AsyncTask в данном случае плохая практика. Однозначно подобные задачи решаются через BroadcastReceiver. То есть, по наступлении определенного события, система рассылает "сообщения" приложениям. Если в приложении есть BroadcastReceiver, отвечающий за данное сообщение, произойдет необходимое действие.
Примерно так:
а) Добавляем в Android manifest (в application) следующее (у меня был свой пример с переключением режима "В полете", но там же можно посмотреть и другие варианты, например, android.intent.action.DATE_CHANGED, что нам и нужно).
<receiver android:name=".receivers.MyAirplaneReceiver">
<intent-filter>
<action android:name="android.intent.action.AIRPLANE_MODE" />
</intent-filter>
</receiver>
б) Создаем класс, который будет отвечать за данное действие, например:
public class MyAirplaneReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.v("myLog", "Просто выводим лог!");
}
}
Попробуйте создать AsyncTask - в нем в с нужным интервалом считывать время и уже изменять TextView - динамический.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При попыткt установить в поле значение null я получаю ошибку
Следующий вопрос почему когда в pomxml описана зависимость mysql mysql-connector-java 5
В приложении есть только один фрагмент и он выполнен правильно, но на многих моих приложениях при свайпе что бы вызвать меню навигации на этом...