Android 更新UI的方法汇总

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的方法汇总的相关知识,希望对大家有所帮助,如果大家有疑问欢迎给我留言,小编会及时回复大家的!

一个有信念者所开发出的力量,大于99个只有兴趣者。

Android 更新UI的方法汇总

相关文章:

你感兴趣的文章:

标签云: