温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中Handler与Message如何使用

发布时间:2021-06-26 17:04:28 来源:亿速云 阅读:150 作者:Leah 栏目:移动开发

这期内容当中小编将会给大家带来有关Android中Handler与Message如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Message:

Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于再不同线程之间交换数据。除了what字段,还可以用arge1和arg2字段来携带一些整型数据,使用obj字段携带一个Object对象。

Handler

Handler顾名思义就是处理者的意思,它主要是用于发送和处理消息的。发送消息一般是使用Handler的sendMessage()方法,而发出的消息经过一系列地辗转处理后,最终会传递到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这个整型敞亮,用于表示更新TextView这个动作    public static final int UPDATE_TEXT = 1;      private TextView text;    private Button changeText;      //创建一个Handler    private Handler handler = new Handler() {        public void handleMessage(Message msg) {        switch (msg.what) {        case UPDATE_TEXT:          //在这里可以进行UI操作          //对msg.obj进行String强制转换          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() {            //创建一个message            //设置what字段的值为UPDATE_TEXT,主要是为了区分不同的message            //设置message.obj的内容            //调用Handler的message对象            //handler中的handlermessage对象是在主线程中运行的            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如何使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI