Ситуация следующая: есть 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 - динамический.
При попыткt установить в поле значение null я получаю ошибку
Следующий вопрос почему когда в pomxml описана зависимость mysql mysql-connector-java 5
В приложении есть только один фрагмент и он выполнен правильно, но на многих моих приложениях при свайпе что бы вызвать меню навигации на этом...