onCreate(Bundle savedInstanceState)
?{
? super.onCreate(savedInstanceState);
? setContentView(R.layout.activity_single_fragment);
?
? FragmentManager fm = getSupportFragmentManager();
? mListFragment = (ListTitleFragment) fm.findFragmentById(R.id.id_fragment_container);
?
? if(mListFragment == null )
? {
? ?mListFragment = new ListTitleFragment();
? ?fm.beginTransaction().add(R.id.id_fragment_container,mListFragment).commit();
? }
?}
}
ContentActivity:
public class ContentActivity extends FragmentActivity
{
?private ContentFragment mContentFragment;
?@Override
?protected void onCreate(Bundle savedInstanceState)
?{
? super.onCreate(savedInstanceState);
? setContentView(R.layout.activity_single_fragment);
?
? FragmentManager fm = getSupportFragmentManager();
? mContentFragment = (ContentFragment) fm.findFragmentById(R.id.id_fragment_container);
?
? if(mContentFragment == null )
? {
? ?String title = getIntent().getStringExtra(ContentFragment.ARGUMENT);
? ?mContentFragment = ContentFragment.newInstance(title);
? ?fm.beginTransaction().add(R.id.id_fragment_container,mContentFragment).commit();
? }
?}
}
有没有发现两个Activity中的代码极其的类似,且使用了同一个布局文件:
activity_single_fragment.xml
? ? xmlns:tools="http://schemas.android.com/tools"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent"
?android:id="@+id/id_fragment_container"
>
为什么要贴这Acticity的代码呢?因为我们项目中,如果原则上使用Fragment,会发现大量类似的代码,那么我们就可以抽象一个Activity出来,托管我们的Single Fragment。
详细见下一节。