1

我有一个带有必要方法的fragment命名DetailFragment哪个extends 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);。如果我想添加DetailFragmentfrom FragmentActivity,我必须在布局文件中声明一个LinearLayout(或任何布局) 。通过这种方式,我可以添加一个:android: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();

但是,我只能在其中添加DetailFragment1 container_fragment。如果我想DetailFragment从活动中添加 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 回答