0

これは私が持っている非常に具体的なニーズです。そしてそれには理由があります。質問は、タイトルにあるように単純です。私のプロジェクトには多くのアクティビティがあります。ただし、DogActivity および CatActivity アクティビティの場合。DogActivity が CatActivity を開始したときに、CatActivity が onCreate ではなく onActivityResult を介して呼び出されたかのように表示されるようにしたいと考えています。これは可能ですか?コード例はありますか?

編集

オーバーライドできるアクティビティの 2 つのライフサイクル メソッドは、onCreateonActivityResultです。CatActivity が で DogActivity を開始しstartActivityForResultた場合、当然、DogActivity が終了すると、CatActivity のonActivityResultメソッドが呼び出されます。

私のシナリオでは、CatActivity は DocActivity を開始したものではありません。逆に、CatActivity を開始するには DogActivity が必要です。しかし、DogActivity が CatActivity を開始するとき、DogActivity が CatActivity に戻っているかのように CatActivity を動作させる必要がありますonActivityResult。だから、 を通過するのではなく、 を通過onCreateさせたいのですonActivityResult。したがって、私の質問: それは可能ですか?

4

1 に答える 1

2

はい、インテントを呼び出すときに Extra を追加するだけです。

Intent intent = new Intent(context, class);
intent.putExtra("from_activity_result", true);

そして、受信アクティビティで、次を呼び出すことができます。

getIntent().getBooleanExtra("from_activity_result", false);

true の場合は、onActivityResult メソッドからのものであることがわかります。そうでない場合は、そうではなかったことがわかります。

于 2013-09-06T16:58:18.180 に答える