Guest User

Untitled

a guest
Jul 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. public class ViewPagerAdapterProfile extends FragmentStatePagerAdapter{
  2.  
  3. int mNumOfTabs;
  4.  
  5. public ViewPagerAdapterProfile(FragmentManager fm, int NumOfTabs) {
  6. super(fm);
  7. this.mNumOfTabs = NumOfTabs;
  8. }
  9.  
  10. @Override
  11. public Fragment getItem(int position) {
  12. if (position ==0) {
  13. return new PersonalDetailsFragment();
  14. } else if (position == 1)
  15. {
  16. return new ProfessionalDetailsFragment();
  17.  
  18. } else return new EmploymentDetailsFragment();
  19. }
  20.  
  21. @Override
  22. public int getCount() {
  23. return mNumOfTabs;
  24. }
  25.  
  26. @Override
  27. public int getItemPosition(@NonNull Object object)
  28. {
  29. return PagerAdapter.POSITION_NONE;
  30. }
  31.  
  32. public class MainActivity extends AppCompatActivity {
  33.  
  34. @Override
  35. protected void onCreate(Bundle savedInstanceState) {
  36. super.onCreate(savedInstanceState);
  37. setContentView(R.layout.activity_main);
  38. init();
  39. }
  40.  
  41. private void setListViewHeight(ExpandableListView listView, int group) {
  42.  
  43. if ((listAdapter.getChildrenCount(i) == 0) && (i == group)) {
  44. Fragment fragment = null;
  45. switch (group) {
  46. case 0:
  47. fragment = new DashboardFragment();
  48. tv_name.clearComposingText();
  49. tv_name.setText("Dashboard");
  50. break;
  51. case 1:
  52. fragment = new MyProfileFrament();
  53. tv_name.clearComposingText();
  54. tv_name.setText("My Profile");
  55. break;
  56.  
  57. default:
  58. break;
  59. }
  60.  
  61. //replacing the fragment
  62. if (fragment != null) {
  63. FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
  64. ft.replace(R.id.content_frame, fragment);
  65. ft.commit();
  66. mDrawerLayout.closeDrawer(Gravity.LEFT);
  67. }
  68.  
  69. }
  70.  
  71. }
  72.  
  73. ViewGroup.LayoutParams params = listView.getLayoutParams();
  74. int height = totalHeight
  75. + (listView.getDividerHeight() * (listAdapter.getGroupCount() - 1));
  76. params.height = height;
  77. listView.setLayoutParams(params);
  78. listView.requestLayout();
  79. }
  80.  
  81. @Override
  82. public void onBackPressed() {
  83. FragmentManager fm = getSupportFragmentManager();
  84. for (Fragment frag : fm.getFragments()) {
  85. if (frag.isVisible()) {
  86. FragmentManager childFm = frag.getChildFragmentManager();
  87. if (childFm.getBackStackEntryCount() > 0) {
  88. childFm.popBackStack();
  89. return;
  90. }
  91. }
  92. }
  93. super.onBackPressed();
  94. }
  95.  
  96. public class MyProfileFrament extends Fragment{
  97.  
  98. private ViewPager viewPager;
  99. private TabLayout tabLayout;
  100. private String[] pageTitle = {"Personal Details", "Education/Professional Details", "Employement Details"};
  101.  
  102. @Nullable
  103. @Override
  104. public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
  105. {
  106. View view = inflater.inflate(R.layout.fragment_myprofile, container, false);
  107. viewPager = (ViewPager) view.findViewById(R.id.view_pager);
  108. tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
  109.  
  110. for (int i = 0; i < 3; i++) {
  111. tabLayout.addTab(tabLayout.newTab().setText(pageTitle[i]));
  112. }
  113.  
  114. tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
  115.  
  116. ViewPagerAdapterProfile pagerAdapter = new ViewPagerAdapterProfile(requireFragmentManager(), pageTitle.length);
  117. viewPager.setAdapter(pagerAdapter);
  118. //change Tab selection when swipe ViewPager
  119. viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
  120. //change Tab selection when swipe ViewPager
  121. viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
  122. //change ViewPager page when tab selected
  123. tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  124. @Override
  125. public void onTabSelected(TabLayout.Tab tab) {
  126. viewPager.setCurrentItem(tab.getPosition());
  127. }
  128. @Override
  129. public void onTabUnselected(TabLayout.Tab tab) {
  130.  
  131. }
  132. @Override
  133. public void onTabReselected(TabLayout.Tab tab) {
  134.  
  135. }
  136. });
  137. return view;
  138. }
Add Comment
Please, Sign In to add comment