1

2つのアクティビティがあります。アクティビティAには[画像の読み込み]ボタンがあり、ユーザーは画像を選択できますが、選択した画像を他のアクティビティBで処理したいと思います。

これは一般的なシナリオだと思いますが、アクティビティフローをどのように処理する必要がありますか?

これは私がこれまでに来たものです(私は好きではありません)

アクティビティA->ギャラリー->アクティビティA->アクティビティB

アクティビティAのonActivityResult()はURIを取得してアクティビティBを開始するだけなので、5行を実行して破棄するためだけにアクティビティを再作成するのは、一種の無駄です(そうではありませんか?)。よりクリーンなもの、またはより直接的なものが欲しいのですが。これは単なる例であり、何でも歓迎します。

Activity A--> Gallery --> Activity B

編集

これはどうですか?

 Activity A--> Activity B--> Gallery--> Activity B

それはより良いアプローチですか、それとも同じことですか?つまり、私は何か(パフォーマンス、クリーンさ)を得るでしょうか。

編集2

@Gauravが言ったように、回避策のオプションは2つのアクティビティではなく2つのレイアウトを使用することであるため、私の問題に直接対処する必要はありません。アクティビティAは非常に薄いので、これでうまくいくはずです。しかし、知識のために、私は私の質問に対する「直接的な」答えを歓迎します。

編集3

最後に、同じアクティビティに両方のレイアウトを含めることは機能しませんでした(非常に魅力的なソリューションでしたが)。私のアクティビティBはlibgdx(opengl)に基づいており、onDrawFrameが呼び出されないと、厄介なデッドロックが発生します。したがって、この種の将来の追跡不可能なバグを回避するために、アクティビティを分離します。Edit-1ソリューションを使用します。コメントをいただければ幸いです。

4

1 に答える 1

1

AのonActivityResultでアクティビティBを呼び出す以外に方法はないと思います。

于 2012-12-24T16:30:26.503 に答える