私はAndroidを学んでいて、この声明で立ち往生しています。グーグルから:
what値のみを含むメッセージを送信します。
戻り値
メッセージがメッセージキューに正常に配置された場合はtrueを返します。通常、メッセージキューを処理しているルーパーが終了しているため、失敗するとfalseを返します。
誰かが私のためにゼロを含むメッセージが何をするかを説明してください。ありがとう
私はAndroidを学んでいて、この声明で立ち往生しています。グーグルから:
what値のみを含むメッセージを送信します。
戻り値
メッセージがメッセージキューに正常に配置された場合はtrueを返します。通常、メッセージキューを処理しているルーパーが終了しているため、失敗するとfalseを返します。
誰かが私のためにゼロを含むメッセージが何をするかを説明してください。ありがとう
それはwhat
価値を意味します。what
基本的には、受信者が受信したメッセージを識別できるようにする整数です。
handleMessage関数は次のようになります
public void handleMessage (Message msg)
オブジェクトが渡されMessage
、パブリックフィールドをチェックwhat
して、メッセージの内容を把握できます。(msg.what
)
例えば。
what
値1 for success
と2種類のメッセージを送信します0 for failure
したがって、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, 0, "Success text")
同様に失敗の場合
ゼロの意味に従って、空のメッセージを送信しているだけで、0は任意の値に置き換えることができます。この場合、メッセージのタイプは1つだけであり、ハンドラーはそれを理解します。したがって、受信したメッセージの種類を確認する必要はなく、メッセージを受信するだけで済みます。だからsendEmptyMessage(AnyInteger)
うまくいくだろう。0は慣例によるものです