0

私はそこでAndroidの質問を見て、次のステートメントが正しいかどうかを尋ねていました。

を使用してクラスからstartActivityForResult新しいものを起動すると、新しいものが完了するとクラスに通知されます。ActivityActivityActivityActivity

私は、startActivityForResult開始したアクティビティが完了したことを呼び出し元のアクティビティに通知し、必要に応じてデータを返すことができるようにすることが重要であると考えていました。

私はAndroidに比較的慣れていないので、事実をまっすぐに伝えたいと思っています。

任意の入力をいただければ幸いです。

乾杯

4

3 に答える 3

2

startActivityForResult を使用してアクティビティ クラスから新しいアクティビティを起動すると、新しいアクティビティが完了したときにアクティビティ クラスに通知されます。

これは真でonActivityResult (int requestCode, int resultCode, Intent data)あり、結果のために他のアクティビティを開始したアクティビティで呼び出されます - 結果を処理するためにオーバーライドします

私は意見を持っていました.startActivityForResultの全体的なポイントは、呼び出し元のアクティビティに、開始したアクティビティが完了したことを通知し、必要に応じてデータを返せるようにすることでした。

それも真実です。呼び出すことで結果を呼び出すアクティビティに結果を設定できsetResult (int resultCode, Intent data)ます-余分なデータを含むインテントデータを渡します-その後、onActivityResult のインテントデータから取得できます。

于 2012-12-17T16:09:33.240 に答える
1

Activity A健全性のために、 と を使用しましょうActivity B

ActivityAActivityBで始まりstartActivityForResultます。

ActivityBそれはことを行い、完了します。onActivityResult呼び出されるActivityA

于 2012-12-17T16:09:56.203 に答える
0

呼び出されたアクティビティが呼び出し元のアクティビティに結果を返すようにする場合は、startActivityForResult を使用します。呼び出しアクティビティは、結果について通知を受けるために onActivityResult を実装する必要があります。呼び出されたアクティビティが作業を終了すると、setResult が呼び出されます。活動間で価値を共有するための手段であり、通知システムとは関係ありません。私が明確だったことを願っています。

于 2012-12-17T16:14:35.630 に答える