ОбновлениеTextView из потока в Android

Рейтинг: 1Ответов: 1Опубликовано: 27.04.2015

Подскажите, как реализуется обновление элементов интерфейса, если оно может постоянно меняться?

К примеру есть TextView. Как реализовать вызов String text = GetNewText(); TextView tv.setText(); каждую секунду?

С одной стороны нужен поток, но из него нельзя менять интерфейс. Если будет поток, то как из него правильно выйти при смене layout?

Ответы

▲ 2

Вместо потока следует использовать AsynkTask у которой метод doInBackground() выполняется в фоновом потоке а onPreExecute, onPostExecute и onProgressUpdate в главном потоке.

Но если уж совсем хочется чтоб код выполнился в главном потоке то можно использовать Handler, метод post у любого View, или что-то типа

MainActivity.this.runOnUiThread(new Runnable() {
    public void run() {
        Log.d("UI thread", "I am the UI thread");
    }
});