Text View c частотой обновления 1 сек

166
19 декабря 2019, 02:40

Начал программировать на Android недавно, помогите. На странице приложения есть textView, информацию на котором надо обновлять(показывать значение переменной) каждую секунду. В каком методе и как это надо делать? Можно ли делать в onCreate()?

Answer 1

Бесконечный таймер:

private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_layout);
    textView = findViewById(R.id.textView);
    updateTextView();
}
private void updateTextView(){
    new CountDownTimer(1000, 1000) {
        @Override
        public void onTick(long millisUntilFinished) {}
        @Override
        public void onFinish() {
            /*Что-то сделали*/
            textView.setText("ЧТО-ТО");
            start();//Заново запустили таймер
        }
    }.start();
}
Answer 2

Вам нужно запустить в отдельном потоке метод который будет получать данные для обновления и каждую секунду (в вашем случае) передавать в главный поток данные для обновления TextView. Запустить его можно и в onCreate, но тут важно отслеживать его привязку к активити! Вам нужно обрабатывать любые смены конфигурации экрана(например: поворот экрана). Иначе может быть утечка памяти! Вам нужно копать в сторону работы с многопоточностью, AsyncTask-и, Loaders, Executors. Возможно RX Java но она для новичка сложна в понимании.

READ ALSO
<class>.class что значит

<class>.class что значит

IllegalArgumentExceptionclass Что это значить? То есть

168
как закруглить один угол у node в javaFX

как закруглить один угол у node в javaFX

Я знаю как полностью округлить углы надо просто добавить свойство:

135
Как будет выглядеть .bat файл для Windows?

Как будет выглядеть .bat файл для Windows?

Всем приветЕсть код для запуска программы на Linux в файле run

161
Синхронизация на уровне объекта

Синхронизация на уровне объекта

Помогите, пожалуйста разобратьсяПравильно ли я понимаю, если сделать синхронизированный метод (public synchronized void run()), то выполнение блокируется...

152