我正在学习Android,我对这句话感到困惑.来自谷歌:
发送仅包含什么值的消息.
返回
如果消息已成功放入消息队列,则返回true.失败时返回false,通常是因为处理消息队列的looper正在退出.
有人请为我解释一下包含零的消息会做什么.谢谢
Ahm*_*xan 15
它意味着what价值.what基本上是一个整数,允许接收者识别它收到的消息.
你的handleMessage函数看起来像这样
public void handleMessage (Message msg)
Run Code Online (Sandbox Code Playgroud)
您传递了一个Message对象,您可以检查公共字段what以确定消息的内容.(msg.what)
例如.
你发送两种类型的消息,what有价值1 for success和0 for failure
所以你的handleMessage函数看起来像这样
public void handleMessage (Message msg) {
switch (msg.what) {
case 1:
//success handling
break;
case 0:
//failure handling
break;
}
}
Run Code Online (Sandbox Code Playgroud)
现在你可以获得sendEmptyMessage(0)成功和sendEmptyMessage(1)失败.
请记住,您不必发送空消息,您也可以发送一个Message对象,其中附加了更多数据
例如,您可以发送包含成功文本的消息
Message.obtain(mHandler, 0, "Success text")
Run Code Online (Sandbox Code Playgroud)
而且类似的失败
现在按照零意味着,它只是发送一个空消息,0可以被任何值替换.在这种情况下,您只有一种类型的消息,而Handler确实理解这一点.因此,它不需要检查它收到的消息类型,只需要接收消息.所以行sendEmptyMessage(AnyInteger)得很好.0是按惯例
| 归档时间: |
|
| 查看次数: |
8660 次 |
| 最近记录: |