Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Blog Post:
- * http://devleader.ca/2013/11/04/fragments-tabbed-android-user-interface
- *
- * Layouts:
- * activity_main.xml: http://pastebin.com/kj8M38Ze
- * fragment_tabs.xml: http://pastebin.com/0b7HAeAK
- * simple_tab.xml: http://pastebin.com/9SqLbS0X
- *
- * Classes:
- * MainActivity.java: http://pastebin.com/eBv3H775
- * SimpleTabDefinition.java: http://pastebin.com/wW3WCcy9
- * TabDefinition.java: http://pastebin.com/KSRV2f3U
- * TabsFragment.java: http://pastebin.com/9Asv7AVH
- */
- package com.devleader.tab_fragment_tutorial;
- import java.util.UUID;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- /**
- * A class that defines a UI tab.
- */
- public abstract class TabDefinition {
- //
- // Fields
- //
- private final int _tabContentViewId;
- private final String _tabUuid;
- //
- // Constructors
- //
- /**
- * The constructor for {@link TabDefinition}.
- * @param tabContentViewId The layout ID of the contents to use when the tab is active.
- */
- public TabDefinition(int tabContentViewId) {
- _tabContentViewId = tabContentViewId;
- _tabUuid = UUID.randomUUID().toString();
- }
- //
- // Exposed Members
- //
- /**
- * Gets the ID of the tab's content {@link View}.
- * @return The ID of the tab's content {@link View}.
- */
- public int getTabContentViewId() {
- return _tabContentViewId;
- }
- /**
- * Gets the unique identifier for the tab.
- * @return The unique identifier for the tab.
- */
- public String getId() {
- return _tabUuid;
- }
- /**
- * Gets the {@link Fragment} to use for the tab.
- * @return The {@link Fragment} to use for the tab.
- */
- public abstract Fragment getFragment();
- /**
- * Called when creating the {@link View} for the tab control.
- * @param inflater The {@link LayoutInflater} used to create {@link View}s.
- * @param tabsView The {@link View} that holds the tab {@link View}s.
- * @return The tab {@link View} that will be placed into the tabs {@link ViewGroup}.
- */
- public abstract View createTabView(LayoutInflater inflater, ViewGroup tabsView);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement