1

私は必要なメソッドを持つfragment名前付きDetailFragmentextends Fragmentクラスを持っていOverrideます:

public class DetailFragment extends Fragment{
     //Some neccessary methods are over here
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.details, container, false);
    return view;
    }
}

私は主な活動FragmentActivity extends FragmentActivityをしています:コンテンツを設定します: setContentView(R.layout.main);DetailFragmentから追加したい場合は、レイアウトファイル内で(または任意のレイアウト)FragmentActivityを宣言する必要があります。このようにして、:を追加できます。LinearLayoutandroid:id="@+id/container_fragment"main.xmlDetailFragment

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
DetailFragment df = new DetailFragment();
ft.add(R.id.container_fragment, df);
ft.commit();

ただし、それに追加できるのは1つだけDetailFragmentですcontainer_fragmentDetailFragmentアクティビティから2つ以上追加する場合container_fragmentmain.xmlレイアウトに2つ以上追加する必要がありますか?そうでない場合は、私が何をすべきか、例を挙げていただけますか?ありがとう!

4

1 に答える 1

3

レイアウトには複数のフラグメントを含めることができます。クラスのadd関数を呼び出すときに、異なるタグを指定する必要があります。FragmentTransaction

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container_fragment, new DetailFragment(), "df_1");
ft.add(R.id.container_fragment, new DetailFragment(), "df_2");
ft.commit();
于 2012-07-20T13:56:16.220 に答える