安卓Handler用法

public class MainActivity extends AppCompatActivity {

    private String time;
    private String educationalName;
    private String degree;
    private String gender;

    private final Handler handler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            if (msg.what == 1) {
                time = msg.obj.toString();
                // 更新UI或执行其他操作
            } else if (msg.what == 2) {
                educationalName = msg.obj.toString();
                // 更新UI或执行其他操作
            } else if (msg.what == 3) {
                degree = msg.obj.toString();
                // 更新UI或执行其他操作
            } else if (msg.what == 4) {
                gender = msg.obj.toString();
                // 更新UI或执行其他操作
            }
            return true;
        }
    });

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 模拟发送消息的情况
        updateDegree("Bachelor's Degree");
    }

    private void updateDegree(String name) {
        // 创建一个Message对象,并设置相关属性
        Message msg = new Message();
        msg.what = 3; // 设置消息类型为3
        msg.obj = name; // 设置消息内容为name

        // 将消息发送给handler处理
        handler.sendMessage(msg);
    }
}

在这个示例中,当Activity创建时,会调用onCreate方法,在这个方法里我们调用了updateDegree来模拟发送消息的情况。在updateDegree方法中,我们创建了一个消息对象,并设置了消息类型和内容,然后通过Handler发送消息。在Handler的回调方法中,根据消息类型来更新对应的变量值,并可以在这里更新UI或执行其他操作。

请注意,由于涉及到UI更新,你应该确保在更新UI时处于主线程上。如果你需要在后台线程中进行一些操作并更新UI,你可以使用Handler来实现跨线程通信和UI更新。

相关推荐

  1. Handler

    2024-03-11 19:06:02       20 阅读
  2. 基础】-- 消息机制 Handler

    2024-03-11 19:06:02       8 阅读
  3. 手机当 linux 开发机

    2024-03-11 19:06:02       13 阅读
  4. Handler

    2024-03-11 19:06:02       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 19:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 19:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 19:06:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 19:06:02       20 阅读

热门阅读

  1. 机器学习流程—数据预处理 缩放和转换

    2024-03-11 19:06:02       19 阅读
  2. c++ primer中文版第五版作业第八章

    2024-03-11 19:06:02       20 阅读
  3. webpack题

    2024-03-11 19:06:02       21 阅读
  4. vim寄存器和宏

    2024-03-11 19:06:02       22 阅读
  5. 【无标题】

    2024-03-11 19:06:02       23 阅读
  6. xtrabackup-docker实战

    2024-03-11 19:06:02       27 阅读
  7. oracle底层原理

    2024-03-11 19:06:02       25 阅读