Android - 将Runnable发布到UI线程

时间:2013-10-05 10:10:46

标签: android multithreading

如果我没弄错的话,你可以通过以下方式找出当前线程是否是UI线程:

if (Looper.myLooper() == Looper.getMainLooper())
    /* we are in the UI thread */

如何将任务发布到UI线程/队列?

if (Looper.myLooper() == Looper.getMainLooper())
    X.execute(new Runnable() { ... });

这里,X是UI线程的队列/处理程序。什么是X,我能得到它静态得到它?

我想发送此任务而不必强制引用我的活动或其他任何内容。这可能吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

new Handler(Looper.getMainLooper())

答案 1 :(得分:1)

我可能会建议查看context.runOnUiThread(Runnable r); 无需检查looper - runOnUiThread(...)函数将为您执行此操作。