Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. public class TabsFragment extends Fragment implements OnTabChangeListener {
  2.  
  3. private String month = "month";
  4. private String day = "day";
  5.  
  6. private View mRoot;
  7. private TabHost tabHost;
  8. private int mCurrentTab;
  9.  
  10. private Resources ressources = getResources();
  11.  
  12.  
  13. @Override
  14. public void onAttach(Activity activity) {
  15. super.onAttach(activity);
  16. }
  17.  
  18. @Override
  19. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  20. mRoot = inflater.inflate(R.layout.tabs_fragment, null);
  21. tabHost = (TabHost) mRoot.findViewById(android.R.id.tabhost);
  22. setupTabs();
  23. return mRoot;
  24. }
  25.  
  26. @Override
  27. public void onActivityCreated(Bundle savedInstanceState) {
  28. super.onActivityCreated(savedInstanceState);
  29. setRetainInstance(true);
  30.  
  31. tabHost.setOnTabChangedListener(this);
  32. tabHost.setCurrentTab(mCurrentTab);
  33.  
  34. updateTab(month, R.id.tab_1);
  35. }
  36.  
  37. private void setupTabs() {
  38. tabHost.setup(); // you must call this before adding your tabs!
  39. tabHost.addTab(newTab(month));
  40. tabHost.addTab(newTab(day));
  41. }
  42.  
  43. private TabSpec newTab(String tag) {
  44. View indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tabs,(ViewGroup) mRoot.findViewById(android.R.id.tabs), false);
  45.  
  46.  
  47. Intent intentMonth = new Intent().setClass(getActivity(), MonthView.class);
  48. TabSpec tabSpec = tabHost.newTabSpec(tag).setContent(intentMonth).setIndicator(indicator);
  49.  
  50. return tabSpec;
  51. }
  52.  
  53.  
  54.  
  55. public void onTabChanged(String tabId) {
  56.  
  57. if (month.equals(tabId)) {
  58. updateTab(tabId, R.id.tab_1);
  59. mCurrentTab = 0;
  60. return;
  61. }
  62. if (day.equals(tabId)) {
  63. updateTab(tabId, R.id.tab_2);
  64. mCurrentTab = 1;
  65. return;
  66. }
  67. }
  68.  
  69. private void updateTab(String tabId, int placeholder) {
  70. FragmentManager fm = getFragmentManager();
  71. if (fm.findFragmentByTag(tabId) == null) {
  72. fm.beginTransaction().replace(placeholder, new TabsFragment(), tabId).commit();
  73. }
  74. }
  75. }
  76.  
  77. public class MonthView extends Activity implements OnClickListener {
  78. ...
  79. }
  80.  
  81.  
  82. public class DayView extends Activity {
  83. ...
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement