如果我没弄错的话,你可以通过以下方式找出当前线程是否是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,我能得到它静态得到它?
我想发送此任务而不必强制引用我的活动或其他任何内容。这可能吗?
谢谢!
答案 0 :(得分:2)
new Handler(Looper.getMainLooper())
答案 1 :(得分:1)
我可能会建议查看context.runOnUiThread(Runnable r); 无需检查looper - runOnUiThread(...)函数将为您执行此操作。