Back to project page Joetz-Android-V2.
The source code is released under:
GNU General Public License
If you think the Android project Joetz-Android-V2 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.example.jens.myapplication.account; //from w w w . j a v a2s .c o m import android.app.ActionBar; import android.app.Activity; import android.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import com.example.jens.myapplication.R; import com.example.jens.myapplication.apimanager.manager.LoginManager; import com.example.jens.myapplication.camps.InfoFragment; import com.example.jens.myapplication.sam.JoetzApplication; import com.example.jens.myapplication.sam.MyFragment; import java.util.List; /** * Created by Jens on 8/11/2014. */ public class FragmentAccount extends MyFragment implements ActionBar.TabListener{ public static final String EXTRA_START_PAGE = "startPage"; public static final int PAGE_PROFILE = 0; public static final int PAGE_PERSONS = 1; public static final int PAGE_BOOKING_HISTORY = 2; private OnFragmentInteractionListener mListener; private ViewPager viewPager; private com.example.jens.myapplication.account.TabsPagerAdapter mAdapter; private ActionBar actionBar; // private String[] tabs = { "PROFIEL", "PERSONEN", "BOEKINGEN" }; private int[] tabDrawable= {R.drawable.ic_action_ic_person_48px, R.drawable.ic_action_ic_group_48px, R.drawable.ic_action_ic_history_48px}; public static FragmentAccount newInstance(int startPage){ FragmentAccount fragment = new FragmentAccount(); Bundle args = new Bundle(); args.putInt(EXTRA_START_PAGE, startPage); fragment.setArguments(args); return fragment; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); viewPager = (ViewPager) view.findViewById(R.id.pager2); actionBar = getActivity().getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); mAdapter = new com.example.jens.myapplication.account.TabsPagerAdapter(getChildFragmentManager()); viewPager.setAdapter(mAdapter); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Adding Tabs /* for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name) .setTabListener(this)); }*/ for (int tab_drawable : tabDrawable) { actionBar.addTab(actionBar.newTab().setIcon(tab_drawable) .setTabListener(this)); } viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); //Launch at start page if(getArguments() != null){ if(getArguments().containsKey(EXTRA_START_PAGE)){ int startPage = getArguments().getInt(EXTRA_START_PAGE); if(startPage != 0){ viewPager.setCurrentItem(startPage); } } } } /*@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); }*/ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); JoetzApplication.getContext().restartIfLoggedOut(); setHasOptionsMenu(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_account, container, false); return view; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if(JoetzApplication.getContext().getLoginManager().isLoggedIn()){ menu.findItem(R.id.action_logout).setVisible(true); } super.onCreateOptionsMenu(menu, inflater); } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId() == R.id.action_logout){ logout(); return true; } return false; } private void logout(){ LoginManager loginManager = ((JoetzApplication) getActivity().getApplication()).getLoginManager(); loginManager.logout(); mListener.onUserLogout(); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { viewPager.setCurrentItem(tab.getPosition()); setActivityTitleForTabPosition(tab.getPosition()); } @Override public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } @Override public void onDestroy() { actionBar.removeAllTabs(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); super.onDestroy(); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); List<Fragment> fragments = getChildFragmentManager().getFragments(); if(fragments != null){ for(Fragment f : fragments){ f.onActivityResult(requestCode, resultCode, data); } } } private void setActivityTitleForTabPosition(int position){ int stringRes; switch(position){ case PAGE_PROFILE: stringRes = R.string.profile; break; case PAGE_PERSONS: stringRes = R.string.my_persons; break; case PAGE_BOOKING_HISTORY: stringRes = R.string.booking_history; break; default: stringRes = R.string.title_account; } getActivity().setTitle(getString(stringRes)); } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnFragmentInteractionListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; } public interface OnFragmentInteractionListener{ public void onUserLogout(); } }