android Activity runOnUiThread() 方法使用
生活随笔
收集整理的這篇文章主要介紹了
android Activity runOnUiThread() 方法使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在android 中我們一般用 Handler 做主線程 和 子線程 之間的通信 。
現(xiàn)在有了一種更為簡潔的寫法,就是 Activity 里面的?runOnUiThread( Runnable )方法。
?
利用Activity.runOnUiThread(Runnable)把更新ui的代碼創(chuàng)建在Runnable中,然后在需要更新ui時,把這個Runnable對象傳給Activity.runOnUiThread(Runnable)。?
Runnable對像就能在ui程序中被調(diào)用。如果當前線程是UI線程,那么行動是立即執(zhí)行。如果當前線程不是UI線程,操作是發(fā)布到事件隊列的UI線程。?
package com.app;import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//創(chuàng)建一個線程new Thread(new Runnable() {@Overridepublic void run() {//延遲兩秒try {Thread.sleep( 2000 );} catch (InterruptedException e) {e.printStackTrace();}runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "hah", Toast.LENGTH_SHORT).show();}});}}).start();} }
?Activity的runOnUiThread(Runnable)
/*** Runs the specified action on the UI thread. If the current thread is the UI* thread, then the action is executed immediately. If the current thread is* not the UI thread, the action is posted to the event queue of the UI thread.** @param action the action to run on the UI thread*/public final void runOnUiThread(Runnable action) {if (Thread.currentThread() != mUiThread) {mHandler.post(action);} else {action.run();}}
?
總結(jié)
以上是生活随笔為你收集整理的android Activity runOnUiThread() 方法使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 插件化
- 下一篇: RxJava 和 RxAndroid 二