Oh my gosh! Thank you! You just made my day. Now I finally understand it! 
:))) Thanks thanks thanks! I can't say how much I thank you my smart man :)

2012 m. rugsėjis 10 d., pirmadienis 12:03:54 UTC+3, jb rašė:
>
> Harri Sm�tt schrieb: 
> > That's not true. Android supports basic Java Threads and there's no 
> > reason for not to use them when appropriate. But the thing is, you can 
> > not alter UI components outside of UI Thread. In your case it would be 
> > updating the textual contents of TextView. See method named 
> > runOnUiThread , it gives easy access for executing UI code from Threads. 
>
> Thanks, I guess runOnUiThread() corresponds to the 
> SwingUtilities invokeLater(), plus some smarts to bypass 
> posting if already in UiThread (*). 
>
> I guess there are situations where the smarts is not needed 
> and where one wants a invokeAndWait(). I built myself 
> AndroidUtilties which provide the later. The code reads 
> as follows: 
>
> public class AndroidUtilities { 
>
>      public static void invokeLater(View v, Runnable r) { 
>          if (!v.post(r)) 
>              throw new RuntimeException("looper missing"); 
>      } 
>
>      public static void invokeAndWait(View v, Runnable r) 
>          throws InterruptedException { 
>          WaitAdapter wa = new WaitAdapter(r); 
>          AndroidUtilities.invokeLater(v, wa); 
>          wa.doneJob(); 
>      } 
>
> } 
>
> class WaitAdapter implements Runnable { 
>      private Runnable job; 
>      private volatile boolean donejob; 
>      private final Object donelock = new Object(); 
>
>      WaitAdapter(Runnable j) { 
>          job = j; 
>      } 
>
>      public void run() { 
>          job.run(); 
>          synchronized (donelock) { 
>              donejob = true; 
>              donelock.notifyAll(); 
>          } 
>      } 
>
>      void doneJob() throws InterruptedException { 
>          synchronized (donelock) { 
>              while (!donejob) 
>                  donelock.wait(); 
>          } 
>      } 
>
> } 
>
> The annoying thing is that one has to remember and/or 
> pass around a view all the time. The above code could 
> of course also be adapted so that it takes an activity 
> parameter instead of a view parameter, but still the 
> annoyance will be there. 
>
> Bye 
>
> (*) 
> http://stackoverflow.com/a/9350672/502187 
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to