0

結果のアクティビティを開始するロジックをカプセル化する複合コンポーネントを作成することは可能ですか?

たとえば、ユーザーが音声ファイル、画像ファイル、および連絡先を選択できるようにする機能を備えた設定ページ (アクティビティ) を作成したい場合。それぞれのアイデアを、独立して機能する個別の複合コンポーネントにカプセル化できないのはなぜでしょうか? たとえば、オーディオのピッキングの例では、ユーザーのオーディオの選択を取得するための暗黙のインテントを実行できます。選択が行われると、このコンパウンド コンポーネントに含まれる TextView に結果が表示され、ユーザーが音量などを調整できるようになります。

私のユースケースでは、このすべてのロジックを1つのアクティビティクラスに実装する必要があるという理由で、Googleがこのように設計する理由がわかりませんか? (または、私が望んでいないものであるそれらの用途のそれぞれに活動があります)。

4

1 に答える 1

1

1 つのアクティビティ クラスにすべてのロジックを実装する必要はありません。最も簡単な方法は、この要素をサポートしたいアクティビティが実装する必要があるインターフェイスを作成することだと思います。このコンポーネントを作成するときに、このインターフェースへの参照を提供します。

次に、オーディオ ファイル ピッカー アクティビティの結果が準備できたときにコンポーネントに通知するコールバック メカニズムを用意できます ( の後onActivityResult())。簡単ではありませんが、コンポーネントを特定のアクティビティから分離することは確実に可能です。

于 2012-09-10T14:25:44.680 に答える