国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 更新UI的方法匯總

2019-12-12 06:09:20
字體:
來源:轉載
供稿:網友

1、Activity的 runOnUiThread

textView = (TextView) findViewById( R.id.tv );new Thread(new Runnable() {@Overridepublic void run() {runOnUiThread(new Runnable() {@Overridepublic 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( ) {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);textView.setText( "Ui更新了");}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById( R.id.tv );new Thread(new Runnable() {@Overridepublic 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();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById( R.id.tv );new Thread(new Runnable() {@Overridepublic void run() {try {Thread.sleep( 2000 );} catch (InterruptedException e) {e.printStackTrace();}handler.post(new Runnable() {@Overridepublic void run() {textView.setText( "Ui更新了");}}) ;}}).start();}}

4、view Post() 

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

總結:

1、其實上面的四種方式都可歸結于一種方式:handler 用于Android線程之間的通信。

2、為什么android要求只能在UI線程進行UI操作? 主要還是為了避免多線程造成的并發的問題。在單線程操作UI是安全的。

以上所述是 給大家介紹的Android 更新UI的方法匯總的相關知識,希望對大家有所幫助,如果大家有疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆化县| 奎屯市| 延寿县| 大丰市| 万源市| 诸暨市| 亚东县| 杭锦旗| 靖江市| 潜山县| 广东省| 冕宁县| 南阳市| 磐安县| 普兰店市| 漳平市| 玉山县| 昌图县| 华池县| 尚义县| 肥西县| 邓州市| 平乐县| 威远县| 和硕县| 扬州市| 逊克县| 屏南县| 保定市| 通辽市| 扎囊县| 灌阳县| 上虞市| 阜南县| 清远市| 许昌县| 宜君县| 崇文区| 修水县| 韶关市| 桐庐县|