Androidでアクティビティへのメッセージ返信を取り戻すにはどうすればよいですか? アクティビティが Java オブジェクト (実行中のスレッド) の 1 つに何かを実行するように要求し、応答を返すとします。メッセージを送信したアクティビティに返信することをJavaオブジェクトはどのように知ることができますか? 私には多くの活動があり、多くのオブジェクトが互いに通信しています。
これを Android メッセージで実装するにはどうすればよいですか? ここではブロードキャストを使用したくありません。
質問する
5449 次
3 に答える
7
これには Messenger を使用できます。メッセンジャーを返信パスとして設定できます。メッセージ内には、応答を返すハンドラーが保持されます。
final Messenger messenger = new Messenger(handler);
.
.
msg.replyTo = messenger; // set the handler of the reply activity.
msg.setData(mBundle); // if any additional data available put to a bundle
destinationClass.mHandler.sendMessage(msg);
// in destination class
Messenger msger = msg.replyTo; // get the message sender's details.
Message msg2 = Message.obtain();
msger.send(msg2); // send the reply message again to the sender
于 2013-09-30T09:44:06.733 に答える
1
Handler
スレッドと通信しようとしている場合は、を使用できます。ドキュメントから
Handler は、スレッドを管理するための Android システムのフレームワークの一部です。Handler オブジェクトはメッセージを受信し、コードを実行してメッセージを処理します。
このトピックに関する素晴らしい記事: AndroidBackgroundProcessing
于 2013-09-26T03:53:33.300 に答える
0
可能なアプローチはコールバックです。Java でのコール バック (コードの説明) またはオブザーバー パターンhttp://www.vogella.com/articles/DesignPatternObserver/article.html
于 2013-09-26T03:59:59.023 に答える