类似的functionSwingUtilities.invokeLater在android中?

有时我觉得使用AsyncTask是相当矫枉过正的任务,我正在寻找类似的function,如Android中的SwingUtilities.invokeLater。 因为我只想执行一行代码,所以没有必要为此创build一个新类。

Solutions Collecting From Web of "类似的functionSwingUtilities.invokeLater在android中?"

也许你正在寻找:

Activity.runOnUiThread(Runnable action) 
 Activity.runOnUiThread(Runnable action); 

上面的方法与java的invokeLater稍有不同,因为它检查你是否已经在UI线程上,那么它将立即运行你的Runnable。

还有另外一种方法可以确保你的Runnable被调用,而不是立即调用,即使你在UI线程上。 要做到这一点,你在主线程中编写下面的代码..如果你在后端线程上调用这个代码,你的runnable将被执行在后端线程上。

  Handler h = new Handler(); h.post(new Runnable() { @Override public void run() { //your code.. } ); 

我不记得确切地说invokeLater()是做什么的,但是如果你想延迟执行一些东西,你可以使用postDealayed() 。 这在UI线程上,所以不适合长时间运行的任务,自然。