您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Android中Handler與Message如何使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Message:
Message是在線程之間傳遞的消息,它可以在內(nèi)部攜帶少量的信息,用于再不同線程之間交換數(shù)據(jù)。除了what字段,還可以用arge1和arg2字段來攜帶一些整型數(shù)據(jù),使用obj字段攜帶一個(gè)Object對(duì)象。
Handler
Handler顧名思義就是處理者的意思,它主要是用于發(fā)送和處理消息的。發(fā)送消息一般是使用Handler的sendMessage()方法,而發(fā)出的消息經(jīng)過一系列地輾轉(zhuǎn)處理后,最終會(huì)傳遞到Handler的handleMessage()方法中。
MainActivity:
import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { //定義UPDATE_TEXT這個(gè)整型敞亮,用于表示更新TextView這個(gè)動(dòng)作 public static final int UPDATE_TEXT = 1; private TextView text; private Button changeText; //創(chuàng)建一個(gè)Handler private Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case UPDATE_TEXT: //在這里可以進(jìn)行UI操作 //對(duì)msg.obj進(jìn)行String強(qiáng)制轉(zhuǎn)換 String string=(String)msg.obj; text.setText(string); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.text); changeText = (Button) findViewById(R.id.change_text); changeText.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.change_text: new Thread(new Runnable() { @Override public void run() { //創(chuàng)建一個(gè)message //設(shè)置what字段的值為UPDATE_TEXT,主要是為了區(qū)分不同的message //設(shè)置message.obj的內(nèi)容 //調(diào)用Handler的message對(duì)象 //handler中的handlermessage對(duì)象是在主線程中運(yùn)行的 String string="Nice to meet you"; Message message = new Message(); message.what = UPDATE_TEXT; message.obj=string; handler.sendMessage(message); } }).start(); break; default: break; } } }
activity_main:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/change_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Change Text" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Hello world" android:textSize="20sp" /> </RelativeLayout>
上述就是小編為大家分享的Android中Handler與Message如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。