ncosentino

Tab Fragment Tutorial - Classes - TabDefinition.java

Oct 30th, 2013
1,084
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Blog Post:
  3.  * http://devleader.ca/2013/11/04/fragments-tabbed-android-user-interface
  4.  *
  5.  * Layouts:
  6.  * activity_main.xml: http://pastebin.com/kj8M38Ze
  7.  * fragment_tabs.xml: http://pastebin.com/0b7HAeAK
  8.  * simple_tab.xml: http://pastebin.com/9SqLbS0X
  9.  *
  10.  * Classes:
  11.  * MainActivity.java: http://pastebin.com/eBv3H775
  12.  * SimpleTabDefinition.java: http://pastebin.com/wW3WCcy9
  13.  * TabDefinition.java: http://pastebin.com/KSRV2f3U
  14.  * TabsFragment.java: http://pastebin.com/9Asv7AVH
  15.  */
  16. package com.devleader.tab_fragment_tutorial;
  17.  
  18. import java.util.UUID;
  19.  
  20. import android.support.v4.app.Fragment;
  21. import android.view.LayoutInflater;
  22. import android.view.View;
  23. import android.view.ViewGroup;
  24.  
  25. /**
  26.  * A class that defines a UI tab.  
  27.  */
  28. public abstract class TabDefinition {
  29.     //
  30.     // Fields
  31.     //
  32.     private final int _tabContentViewId;
  33.     private final String _tabUuid;
  34.    
  35.     //
  36.     // Constructors
  37.     //
  38.     /**
  39.      * The constructor for {@link TabDefinition}.
  40.      * @param tabContentViewId The layout ID of the contents to use when the tab is active.
  41.      */
  42.     public TabDefinition(int tabContentViewId) {
  43.         _tabContentViewId = tabContentViewId;
  44.         _tabUuid = UUID.randomUUID().toString();
  45.     }
  46.    
  47.     //
  48.     // Exposed Members
  49.     //
  50.     /**
  51.      * Gets the ID of the tab's content {@link View}.
  52.      * @return The ID of the tab's content {@link View}.
  53.      */
  54.     public int getTabContentViewId() {
  55.         return _tabContentViewId;
  56.     }
  57.    
  58.     /**
  59.      * Gets the unique identifier for the tab.
  60.      * @return The unique identifier for the tab.
  61.      */
  62.     public String getId() {
  63.         return _tabUuid;
  64.     }
  65.    
  66.     /**
  67.      * Gets the {@link Fragment} to use for the tab.
  68.      * @return The {@link Fragment} to use for the tab.
  69.      */
  70.     public abstract Fragment getFragment();
  71.    
  72.     /**
  73.      * Called when creating the {@link View} for the tab control.
  74.      * @param inflater The {@link LayoutInflater} used to create {@link View}s.
  75.      * @param tabsView The {@link View} that holds the tab {@link View}s.
  76.      * @return The tab {@link View} that will be placed into the tabs {@link ViewGroup}.
  77.      */
  78.     public abstract View createTabView(LayoutInflater inflater, ViewGroup tabsView);
  79. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×