Take a look at the following code:
import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTabHost; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class TabFragment extends Fragment { FragmentTabHost mTabHost; @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mTabHost = new FragmentTabHost(getActivity()); mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.content); getActivity().getActionBar().setTitle("TabFragment"); mTabHost.addTab( mTabHost.newTabSpec("First").setIndicator( "First"), FirstFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("Second").setIndicator("Second"), SecondFragment.class, null); return mTabHost; } @Override public void onDestroyView() { // TODO Auto-generated method stub super.onDestroyView(); mTabHost = null; } }
Here R.id.content is the FrameLayout where you show the fragments. (Like a layout called content_frame, which only has a FrameLayout with the content id.)
source share