Ожидание завершения runOnUiThread

  1. public static void blockingTask(Activity activity, Runnable runnable) {
  2.     final Runnable task = new Runnable() {
  3.         @Override
  4.         public void run() {
  5.             runnable.run();
  6.             synchronized(this) {
  7.                 this.notify();
  8.             }
  9.         }
  10.     };
  11.     synchronized (task) {
  12.         activity.runOnUiThread(task);
  13.         try {
  14.             task.wait();
  15.         } catch (InterruptedException e) {
  16.             Thread.currentThread().interrupt();
  17.         }
  18.     }
  19. }
Пригодится, если, находясь в другом потоке, нужно дождаться завершения UI-потока.

Реклама

Мы в соцсетях

tw tg yt gt