私はAndroidを勉強していますが、私はこの声明で立ち往生しています。 Googleから:Handler.sendEmptyMessage(0)のゼロの意味
「what」の値のみを含むメッセージを送信します。
戻り
メッセージが正常にメッセージ キューにに置かれた場合はtrueを返します。通常、ルーパー処理の メッセージキューが終了しているため、失敗するとfalseを返します。
誰かがゼロを含むメッセージの内容を説明してください。ありがとう
私はAndroidを勉強していますが、私はこの声明で立ち往生しています。 Googleから:Handler.sendEmptyMessage(0)のゼロの意味
「what」の値のみを含むメッセージを送信します。
戻り
メッセージが正常にメッセージ キューにに置かれた場合はtrueを返します。通常、ルーパー処理の メッセージキューが終了しているため、失敗するとfalseを返します。
誰かがゼロを含むメッセージの内容を説明してください。ありがとう
これはwhat
という意味です。 what
は基本的に、受信者が受信するメッセージを識別できるようにする整数です。
あなたのhandleMessage関数を使用するがMessage
オブジェクトを渡されると、メッセージが何であるかを把握するために公共の場what
を確認することができ、この
public void handleMessage (Message msg)
のように見えます。 (msg.what
)
例えば、
あなたはとてもあなたのhandleMessage関数が今、あなたは成功と失敗のsendEmptyMessage(1)
ためsendEmptyMessage(0)
を持つことができ、この
public void handleMessage (Message msg) {
switch (msg.what) {
case 1:
//success handling
break;
case 0:
//failure handling
break;
}
}
ようになりwhat
値1 for success
と0 for failure
で、メッセージの2種類を送信します。
あなたは空のメッセージを送信するために持っていけないことを、覚えておいてください、あなたは
を行うことができます成功した場合にいくつかのテキストでメッセージを送信するために、たとえば、あまりにもをそれに接続されているより多くのデータを持つMessageオブジェクトを送信することができます
と同様に故障
ゼロ手段は、それはちょうど空のメッセージを送信しているものの通り今を0
Message.obtain(mHandler, 0, "Success text")
は任意の値で置き換えることができます。この場合、アイデアは1つのタイプのメッセージしか持たず、Handlerはそれを理解します。したがって、受信したメッセージの種類がメッセージを受信する必要があるかどうかを確認する必要はありません。だから
sendEmptyMessage(AnyInteger)
うまく動作します。 0大会
をmessage.what、言います!しかし、実際に 'oneIntMessage'のときに' emptyMessage'と呼んでいるのはなぜですか? – winklerrr
するだけであるということです、ドキュメントのような彼らは本当に便利、そのドキュメントにあなたの説明を置くべき – njzk2