2011-07-18 6 views
1

私のアプリでは、タブをタップしたときにタブに対応するコンテンツを表示するために、カスタムのタブコントロールとハンドルを用意しています。各タブはアクティビティにも関連付けられています。ただし、そのアクティビティのコンテンツは、タブのコンテンツを表示する画面のセクションのみです。Android:埋め込みアクティビティとビューの理解

私は本質的にコンテナとして機能するタブのコンテンツのビューを持っています。現在、タブを選択すると、このコンテナ内のすべてのビューの可視性をGONEにプログラムで設定し、非表示にして、現在選択されているビューの可視性をVISIBLEに設定します。これはすべて機能しますが、Googleのドキュメントが「埋め込みアクティビティ」と呼ぶものについて私は疑問に思います。

これらの組み込みアクティビティの1つを起動すると、そのアクティビティに関連付けられたコンテンツはフォアグラウンドになり、最後のアクティビティのコンテンツはそれに追いついて本質的に見えなくなるという印象を受けました。このアクティビティが閉じられると、そのアクティビティに関連付けられたコンテンツは消え、前のアクティビティはそのコンテンツとともに表示されます。言い換えれば、Androidはその活動に関連してコンテンツの切り替えを処理します。

私は手動で各ビューの表示を設定しています。通常、アクティビティに画面全体を占めているコンテンツがあり、アクティビティが終了すると、コンテンツ全体が消え、UIは最後のアクティビティとそのコンテンツに戻ります。しかし、私は、画面の一部だけである画面の同じセクションを共有する複数のアクティビティを扱っています。おそらく用語「埋め込みアクティビティ」は間違っているかもしれませんが、それはGoogleのドキュメントから直接得られます。多分私は、ビューと埋め込みアクティビティがどのようにやりとりするかを理解していないかもしれません。

また、Android 1.5で動作するソリューションを見つけることをお勧めします。私はビューの自動作成と破壊を処理するために使用されるものかもしれないフラグメントと呼ばれるものを見つけましたが、わかりません。たとえそれがあったとしても、それはハニカムのためです。現在、私はActivityGroupを使用して複数のアクティビティを処理していますが、廃止予定のドキュメントを見つけました。

答えて

0

「アクティビティを埋め込むアクティビティグループ」にはthis answerが必要です。

+0

私は実際にその投稿を読んで、提供されたソリューションを使用しました。ただし、このソリューションでは、アクティビティのビューを手動でコンテナに追加することが明確に示されています。これは、Androidがこれらのビューを自動的に処理できるかどうかに関する私の質問には対処しません。私が理解している限り、コンテナにビューを追加する場合は、これを処理するメカニズムがない限り、コンテナを削除する必要があります。 – Johann

+0

ああ。あなたはまだActivityGroupを使っていたとOPからは分かりませんでした。つまり、ActivityGroupコンテナで複数の埋め込みアクティビティを正常に開始しています。 ActivityGroupコンテナが標準のウィンドウシステムと同じように動作するとはどういうことでしょうか?そうした場合、ActivityGroupは複数の埋め込みアクティビティを同時に表示するのには役に立ちません。 – cdhabecker

+0

私はそれに同意しません。ビューが埋め込まれているアクティビティグループのアクティビティのビューの切り替えを処理するためのコードを自分で作成する必要があったので、これは多くの開発者の間では一般的なことであり、Androidにはその機能が組み込まれていると考えられます。 – Johann

関連する問題