2010年02月04日

[Android] ActivityGroup

Androidは基本的に1画面:1Activity。
ただ、Activityの中にActivityを入れたいこともあると思うのですよ。
TabActivityなんかでタブを使ったときにはActivityを内包することができるのがわかっていたので、自前でもできるんじゃないかと。

結論としては、ActivityGroupを継承したクラスを使ったらでけました。
ActivityGroupもActivityを継承しているので、普通にActivityとして使えます。
んで、内包したいActivityは、getLocalActivityManager()で取得したLocalActivityManagerのstartActivity()を使います。
Intentなんかは普通にActivityを起動させるときと同じです。
startActivity()でWindowクラスが返されます。
そのgetDecorView()で取得できるViewを適当なLayoutにでもaddView()しましょう。
Activityの中にActivityが入っているような見た目を実現できます。

自分としては動いたのでとりあえずは満足です。
ただ、動いたってだけなので、いろいろ必要な処理が抜けているかもしれません。

↓なんとか動いたサンプルはこちら
ActivityGroupTest.zip
posted by t2low at 00:25| Comment(0) | TrackBack(0) | Android
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/35112234

この記事へのトラックバック