はい、ActivityGroup を実装します。これは、他のアクティビティのコンテナーになります。ユーザーがいずれかのボタンをクリックすると、LocalActivityManager への参照が取得され、それを使用して開始され、内部アクティビティが埋め込まれます。このようなもの:
LocalActivityManager mgr = getLocalActivityManager();
Intent i = new Intent(this, SomeActivity.class);
Window w = mgr.startActivity("unique_per_activity_string", i);
View wd = w != null ? w.getDecorView() : null;
if(wd != null) {
mSomeContainer.addView(wd);
}
このメソッドの使用は非常に複雑になる可能性があることに注意してください。フォーカスが適切でない限り、ハードウェア ボタン (メニュー ボタンなど) を押すと、内部のアクティビティではなく、ActivityGroup でのみイベントがトリガーされるためです。内部アクティビティをコンテナー ビューに追加した後、内部アクティビティにフォーカスする何らかの方法を見つける必要があります。その時点で、内部アクティビティでイベントが発生し、コンテナー アクティビティに伝播します。
それはできる、私はそれをやった...そしてそれはうまくいく。私が思っているよりも少し複雑です。
とにかく、ここで見つけることができるTabHostコードを見て、この情報のほとんどを取得しました