微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Handler.sendEmptyMessage(0)中的零意味着什么

我正在学习 Android,我对这句话感到困惑.
来自谷歌:

Sends a Message containing only the what value.

Returns

Returns true if the message was successfully placed in to the message
queue. Returns false on failure,usually because the looper processing
the message queue is exiting.

有人请为我解释一下包含零的消息会做什么.谢谢

解决方法

它意味着什么价值.基本上是一个整数,允许接收者识别它收到的消息.

你的handleMessage函数看起来像这样

public void handleMessage (Message msg)

您传递了一个Message对象,您可以检查公共字段,以确定消息的内容. (msg.what)

例如.

您发送两种类型的消息,其中1表示成功,0表示失败

所以你的handleMessage函数看起来像这样

public void handleMessage (Message msg) {
    switch (msg.what) {
        case 1:
            //success handling
            break;

        case 0:
            //failure handling
            break;
    }
}

现在,您可以将sendEmptyMessage(0)表示成功,将sendEmptyMessage(1)表示失败.

请记住,您不必发送空消息,您也可以发送一个Message对象,其中附加了更多数据

例如,您可以发送包含成功文本的消息

Message.obtain(mHandler,"Success text")

而且类似的失败

现在按照零意味着,它只是发送一个空消息,0可以被任何值替换.在这种情况下,您只有一种类型的消息,而Handler确实理解这一点.因此,它不需要检查它收到的消息类型,只需要接收消息.所以sendEmptyMessage(AnyInteger)可以正常工作. 0是按惯例

原文地址:https://www.jb51.cc/android/313696.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐