1

タブレットの 1 つのアクティビティで組み合わせて使用​​されるフラグメントがいくつかあります。

ただし、ハンドセットでは、1 つのフラグメントが 1 つのアクティビティです。

そのため、ハンドセットでは、タブレットには存在しないアクティビティ用に、複数の XML ファイルと複数の .java ファイルを作成する必要があります。

例:

私が持っているタブレットの場合:

activity A has fragments A,B,C

私が持っている携帯電話の場合

activity A has fragment A, activity B has fragment B and activity C has fragment C

タブレットとハンドセットの両方でアクティビティ A を使用していますが、問題ありません。しかし、ハンドセットの場合、アクティビティ B と C の XML ファイルと Java ファイルを作成する必要があります。これらのファイルには、フラグメントをホストするためだけに、ほとんど何も含まれていません。私にとって、それはあまりエレガントではありません。大量の「ダミー」ファイルを作成することなく、フラグメント B と C をアクティビティとして自動的に起動し、それらをアクティビティとして動作させたいと考えています。それは可能ですか?

4

1 に答える 1

2

FrameLayoutフラグメント用のなどのプレースホルダーを持つ単一のアクティビティを使用できます。その後、必要に応じてフラグメントを置き換えることができます。

何かのようなもの

getFragmentManager().beginTransaction().replace(R.id.mylayout, mMyFragment, "tag");

これは、ActionBar でタブを押したときに反応するときに通常行うことだと思います。

于 2013-05-22T10:29:17.807 に答える