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
2010年02月04日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/35112234
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/35112234
この記事へのトラックバック