Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TabsFragment extends Fragment implements OnTabChangeListener {
- private String month = "month";
- private String day = "day";
- private View mRoot;
- private TabHost tabHost;
- private int mCurrentTab;
- private Resources ressources = getResources();
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- mRoot = inflater.inflate(R.layout.tabs_fragment, null);
- tabHost = (TabHost) mRoot.findViewById(android.R.id.tabhost);
- setupTabs();
- return mRoot;
- }
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- setRetainInstance(true);
- tabHost.setOnTabChangedListener(this);
- tabHost.setCurrentTab(mCurrentTab);
- updateTab(month, R.id.tab_1);
- }
- private void setupTabs() {
- tabHost.setup(); // you must call this before adding your tabs!
- tabHost.addTab(newTab(month));
- tabHost.addTab(newTab(day));
- }
- private TabSpec newTab(String tag) {
- View indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tabs,(ViewGroup) mRoot.findViewById(android.R.id.tabs), false);
- Intent intentMonth = new Intent().setClass(getActivity(), MonthView.class);
- TabSpec tabSpec = tabHost.newTabSpec(tag).setContent(intentMonth).setIndicator(indicator);
- return tabSpec;
- }
- public void onTabChanged(String tabId) {
- if (month.equals(tabId)) {
- updateTab(tabId, R.id.tab_1);
- mCurrentTab = 0;
- return;
- }
- if (day.equals(tabId)) {
- updateTab(tabId, R.id.tab_2);
- mCurrentTab = 1;
- return;
- }
- }
- private void updateTab(String tabId, int placeholder) {
- FragmentManager fm = getFragmentManager();
- if (fm.findFragmentByTag(tabId) == null) {
- fm.beginTransaction().replace(placeholder, new TabsFragment(), tabId).commit();
- }
- }
- }
- public class MonthView extends Activity implements OnClickListener {
- ...
- }
- public class DayView extends Activity {
- ...
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement