Advertisement
DerSkythe

MyTask

Jan 25th, 2012
1,321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.25 KB | None | 0 0
  1. public abstract class FooActivity extends Activity {
  2.     private void runTask() {
  3.         Handler progressHandler = new Handler() {
  4.             @Override
  5.             public void handleMessage(Message msg) {
  6.                 messageHandle(msg);
  7.                 super.handleMessage(msg);
  8.             }
  9.         };
  10.         Thread activationTask = new Thread(new ActivationTask(progressHandler));
  11.         activationTask.start();
  12.     }
  13.     private void messageHandle(Message msg) {
  14.         // Обрабатываем сообщение
  15.         TaskResult result = (TaskResult) msg.obj; // Это результат выполнения таска. Мне надо передавать сложную структуру, поэтому я передаю ее через obj. Но в классе Message есть и более простые методы для простых значений
  16.     }
  17. }
  18.  
  19. public class ActivationTask implements Runnable {
  20.     protected Handler handler;
  21.  
  22.     public Task(final Handler handler) {
  23.         super();
  24.  
  25.         this.handler = handler;
  26.     }
  27.  
  28.     public void run() {
  29.         // code
  30.        
  31.         Message msg = Message.obtain();
  32.         msg.obj = taskResult;
  33.         handler.sendMessage(msg);        
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement