最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 更新UI的方法匯總

 更新時(shí)間:2016年06月26日 15:12:08   作者:趙彥軍  
這篇文章主要介紹了Android 更新UI的方法匯總的相關(guān)資料, 非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

1、Activity的 runOnUiThread

textView = (TextView) findViewById( R.id.tv );
new Thread(new Runnable() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText( "更新UI了");
}
});
}
}).start();

android Activity runOnUiThread() 方法使用

2、Handler sendEmptyMessage()

package lib.com.myapplication;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView ;
Handler handler = new Handler( ) {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
textView.setText( "Ui更新了");
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById( R.id.tv );
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep( 2000 );
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.sendEmptyMessage( 2 ) ;
}
}).start();
}
}

3、Handler post()

package lib.com.myapplication;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView ;
Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById( R.id.tv );
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep( 2000 );
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
@Override
public void run() {
textView.setText( "Ui更新了");
}
}) ;
}
}).start();
}
}

4、view Post() 

textView = (TextView) findViewById( R.id.tv );
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep( 2000 );
} catch (InterruptedException e) {
e.printStackTrace();
}
textView.post(new Runnable() {
@Override
public void run() {
textView.setText( "Ui更新了");
}
}) ;
}
}).start();

總結(jié):

1、其實(shí)上面的四種方式都可歸結(jié)于一種方式:handler 用于Android線(xiàn)程之間的通信。

2、為什么android要求只能在UI線(xiàn)程進(jìn)行UI操作? 主要還是為了避免多線(xiàn)程造成的并發(fā)的問(wèn)題。在單線(xiàn)程操作UI是安全的。

以上所述是 給大家介紹的Android 更新UI的方法匯總的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

最新評(píng)論

屏东县| 梅州市| 成都市| 莱州市| 宁明县| 青冈县| 中卫市| 寿光市| 石河子市| 昔阳县| 台中县| 大宁县| 敦煌市| 灵璧县| 临朐县| 扎赉特旗| 普陀区| 琼海市| 靖安县| 自治县| 中方县| 额尔古纳市| 阿克苏市| 虹口区| 衡山县| 绥江县| 新河县| 罗城| 昌江| 德格县| 谢通门县| 治多县| 招远市| 波密县| 彩票| 密云县| 大连市| 庄浪县| 福建省| 沿河| 阿荣旗|