Sobes.tech
Назад к вопросам
Junior — Middle
67

Каким образом обеспечить выполнение определенных действий в основном потоке из другого потока?

Компании, где спрашивали
ЯндексЯндекс

Ответ от нейросети

sobes.tech AI

В Android для выполнения действий в основном (UI) потоке из другого потока можно использовать класс Handler или runOnUiThread.

Пример с использованием runOnUiThread в Activity:

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        // Код, который должен выполниться в основном потоке
        textView.setText("Обновлено из другого потока");
    }
});

Также можно использовать Handler, связанный с Looper главного потока:

Handler mainHandler = new Handler(Looper.getMainLooper());

mainHandler.post(new Runnable() {
    @Override
    public void run() {
        // Действия в основном потоке
    }
});

В современных приложениях часто применяют архитектурные компоненты и корутины, но для базового понимания эти способы являются стандартными.